public string GetScoreHtmlS(SpecialReportReport lr)
        {
            string ConvertScoreHtml = "";

            ConvertScoreHtml = MgrServices.DistributeRecordService.GetScoreHtmlS(lr);
            return(ConvertScoreHtml);
        }
        public void GetToWordS(List <UserExportInfo> lu, out string fileName, out string path, out StringBuilder builder, out FileInfo file, out StreamWriter sw)
        {
            //AnswerID = "110";
            string StrJson          = "";
            string Scorehtml        = "";
            string ConvertScoreHtml = "";

            DataSet dataset = new DataSet();

            for (int i = 0; i < lu.Count; i++)
            {
                DataSet datasetTemp = MgrServices.PersonalReportService.ReportExport(lu[i].AnswerID.ToString());
                dataset.Merge(datasetTemp, true, MissingSchemaAction.AddWithKey);
            }

            DataTable dt         = new DataTable();
            DataTable UserInfodt = new DataTable();

            if (dataset.Tables.Count > 0)
            {
                dt         = dataset.Tables[0];
                UserInfodt = dataset.Tables[1];
            }

            List <SpecialReportReport> lr = new List <SpecialReportReport>();
            DateTime RCreatetime          = DateTime.Now;

            if (dt.Rows.Count > 0)
            {
                for (int j = 0; j < dt.Rows.Count; j++)
                {
                    SpecialReportReport ReportObj = new SpecialReportReport();
                    StrJson = dt.Rows[j]["ReportJson"].ToString();
                    if (StrJson != null && StrJson != "")
                    {
                        ReportObj = JsonDeserialize <SpecialReportReport>(StrJson);
                        lr.Add(ReportObj);
                    }
                    RCreatetime = DateTime.Parse(dt.Rows[j]["R_CreateDate"].ToString());
                }
            }

            builder = new StringBuilder();
            //存储路径  rtManager.Items[0].FindControl("check_Item")
            fileName = DateTime.Now.ToString("yyyyMMddhhmmss") + new Random(DateTime.Now.Second).Next(10000);
            path     = Server.MapPath("~/xls_down/" + fileName + ".xls");
            file     = new FileInfo(path);
            //创建字符输出流
            sw = new StreamWriter(path, true, System.Text.UnicodeEncoding.UTF8);

            //需要导出的内容
            builder.Append("<html><head></head><body><table border=\"1\" cellpadding=\"0\" cellspacing=\"0\" width='98%' >");
            //获取的量表维度
            if (lr != null && lr[0].DimensionEntitys != null)
            {
                if (lr[0].DimensionEntitys != null)
                {
                    builder.Append("<tr><td colspan=\"" + (lr[0].DimensionEntitys.Count * 2 + 6) + "\" align=\"center\">" + lr[0].DimensionEntitys[0].AName + "的报告详细</td></tr>");
                }
                else
                {
                    builder.Append("<tr><td colspan=\"" + (0 * 2 + 6) + "\" align=\"center\">" + lr[0].DimensionEntitys[0].AName + "的报告详细</td></tr>");
                }
                string Acode = lr[0].DimensionEntitys[0].Acodes;
                //生成表格标题栏  --获取所有该量表的所有维度名称
                builder.Append("<tr><td align=\"center\" rowspan=\"2\">用户名</td><td align=\"center\" rowspan=\"2\">真实姓名</td><td align=\"center\" rowspan=\"2\">性别</td><td align=\"center\" rowspan=\"2\">年龄</td><td align=\"center\" rowspan=\"2\">部门</td>");

                if (lr[0].DimensionEntitys != null)
                {
                    builder.Append("<td align=\"center\" colspan=\"2\">总评</td>");//"/" + dt_d.Rows[i]["D_Code"] +
                    builder.Append("</tr>");
                    builder.Append("<tr>");
                    for (int k = 0; k < 1; k++)
                    {
                        builder.Append("<td align=\"center\">原始分</td><td align=\"center\">标准分</td>");//"/" + dt_d.Rows[i]["D_Code"] +
                    }
                    builder.Append("</tr>");
                    if (UserInfodt.Rows.Count > 0)
                    {
                        for (int k = 0; k < UserInfodt.Rows.Count; k++)
                        {
                            int    Ages     = 0;
                            string Birthday = UserInfodt.Rows[k]["U_Birthday"].ToString();
                            if (Birthday != null && Birthday != "")
                            {
                                DateTime U_Birthday = DateTime.Parse(UserInfodt.Rows[k]["U_Birthday"].ToString());
                                Ages = CalculateAgeCorrect(U_Birthday, RCreatetime);
                            }
                            else
                            {
                                Ages = 0;
                            }

                            builder.Append("<tr><td align=\"center\" >" + UserInfodt.Rows[k]["U_LoginName"] + "</td><td align=\"center\">" + UserInfodt.Rows[k]["U_Name"] + "</td><td align=\"center\">" + UserInfodt.Rows[k]["U_Sex"] + "</td><td align=\"center\">" + Ages + "</td><td align=\"center\">" + UserInfodt.Rows[k]["D_name"] + "</td>" + Scorehtml + "");
                            builder.Append(GetScoreHtmlS(lr[k]));
                            builder.Append("</tr>");
                        }
                    }
                }
            }

            builder.Append("</table></body></html>");
        }
        public void GetToWord(List <UserExportInfo> lu, out string fileName, out string path, out StringBuilder builder, out FileInfo file, out StreamWriter sw, int lenght)
        {
            //AnswerID = "110";
            string  StrJson          = "";
            string  Scorehtml        = "";
            string  ConvertScoreHtml = "";
            int     AnswerID         = 0;
            string  AName            = "";
            DataSet dataset          = new DataSet();

            for (int i = 0; i < lu.Count; i++)
            {
                DataSet datasetTemp = MgrServices.PersonalReportService.ReportExport(lu[i].AnswerID.ToString());
                AName = lu[i].AmountName;
                dataset.Merge(datasetTemp, true, MissingSchemaAction.AddWithKey);
            }

            DataTable dt         = new DataTable();
            DataTable UserInfodt = new DataTable();

            if (dataset.Tables.Count > 0)
            {
                dt         = dataset.Tables[0];
                UserInfodt = dataset.Tables[1];
            }

            List <SpecialReportReport> lr = new List <SpecialReportReport>();
            DateTime RCreatetime          = DateTime.Now;

            #region 非空
            if (dt.Rows.Count != 0)
            {
                if (dt.Rows.Count > 0)
                {
                    for (int j = 0; j < dt.Rows.Count; j++)
                    {
                        SpecialReportReport ReportObj = new SpecialReportReport();
                        StrJson  = dt.Rows[j]["ReportJson"].ToString();
                        AnswerID = Convert.ToInt32(dt.Rows[j]["AnsweID"].ToString());
                        if (StrJson != null && StrJson != "")
                        {
                            ReportObj = JsonDeserialize <SpecialReportReport>(StrJson);
                            if (ReportObj.DimensionEntitys != null)
                            {
                                lr.Add(ReportObj);
                            }
                            else
                            {
                                AnswerAddEntity AEntity    = MgrServices.DistributeRecordService.GetAnswerAddEntity(AnswerID);
                                string          strjosn    = "";
                                string          Acodes     = AEntity._amount_code;
                                string          AnswerJson = AEntity._answeradd_record;
                                string          Record     = AnswerJson;
                                int             Scores     = AEntity._answeradd_score;
                                UpdateReportInsert(Acodes, AnswerJson, Record, AName, Scores, out strjosn);
                                ReportObj = JsonDeserialize <SpecialReportReport>(strjosn);
                                lr.Add(ReportObj);//修改
                            }
                        }
                        else
                        {
                            AnswerAddEntity AEntity    = MgrServices.DistributeRecordService.GetAnswerAddEntity(AnswerID);
                            string          strjosn    = "";
                            string          Acodes     = AEntity._amount_code;
                            string          AnswerJson = AEntity._answeradd_record;
                            string          Record     = AnswerJson;
                            int             Scores     = AEntity._answeradd_score;
                            UpdateReportInsert(Acodes, AnswerJson, Record, AName, Scores, out strjosn);
                            ReportObj = JsonDeserialize <SpecialReportReport>(strjosn);
                            lr.Add(ReportObj);//修改
                        }
                        RCreatetime = DateTime.Parse(dt.Rows[j]["R_CreateDate"].ToString());
                    }
                }

                builder = new StringBuilder();
                //存储路径  rtManager.Items[0].FindControl("check_Item")
                // fileName = DateTime.Now.ToString("yyyyMMddhhmmss") + new Random(DateTime.Now.Second).Next(10000);
                fileName = DateTime.Now.ToString("yyyyMMddhhmmss") + "_" + lenght.ToString();
                path     = Server.MapPath("~/xls_down/" + fileName + ".xls");
                file     = new FileInfo(path);
                //创建字符输出流
                sw = new StreamWriter(path, true, System.Text.UnicodeEncoding.UTF8);

                //需要导出的内容
                builder.Append("<html><head></head><body><table border=\"1\" cellpadding=\"0\" cellspacing=\"0\" width='98%' >");
                //获取的量表维度
                if (lr[0].DimensionEntitys.Count > 0)
                {
                    builder.Append("<tr><td colspan=\"" + (lr[0].DimensionEntitys.Count * 2 + 6) + "\" align=\"center\">" + lr[0].DimensionEntitys[0].AName + "的报告详细</td></tr>");
                }
                else
                {
                    builder.Append("<tr><td colspan=\"" + (0 * 2 + 6) + "\" align=\"center\">" + lr[0].DimensionEntitys[0].AName + "的报告详细</td></tr>");
                }
                string Acode = lr[0].DimensionEntitys[0].Acodes;
                //生成表格标题栏  --获取所有该量表的所有维度名称
                builder.Append("<tr><td align=\"center\" rowspan=\"2\">用户名</td><td align=\"center\" rowspan=\"2\">真实姓名</td><td align=\"center\" rowspan=\"2\">性别</td><td align=\"center\" rowspan=\"2\">年龄</td><td align=\"center\" rowspan=\"2\">部门</td>");

                if (lr[0].DimensionEntitys != null)
                {
                    if (Acode == "LB_14808297050440")
                    {
                        lr[0].DimensionEntitys.Add(lr[0].DimensionEntitys[0]);
                        lr[0].DimensionEntitys.RemoveAt(0);
                    }
                    if (Acode == "LB_14809330635970")
                    {
                        builder.Append("<td align=\"center\" colspan=\"2\">总评</td>");//"/" + dt_d.Rows[i]["D_Code"] +
                    }
                    else
                    {
                        for (int i = 0; i < lr[0].DimensionEntitys.Count; i++)
                        {
                            builder.Append("<td align=\"center\" colspan=\"2\">" + lr[0].DimensionEntitys[i].WD_Name + "</td>");//"/" + dt_d.Rows[i]["D_Code"] +
                        }
                    }
                    builder.Append("</tr>");
                    builder.Append("<tr>");
                    if (Acode == "LB_14809330635970")
                    {
                        builder.Append("<td align=\"center\">原始分</td><td align=\"center\">标准分</td>");//"/" + dt_d.Rows[i]["D_Code"] +
                    }
                    else
                    {
                        for (int k = 0; k < lr[0].DimensionEntitys.Count; k++)
                        {
                            builder.Append("<td align=\"center\">原始分</td><td align=\"center\">标准分</td>");//"/" + dt_d.Rows[i]["D_Code"] +
                        }
                    }
                    builder.Append("</tr>");
                    if (UserInfodt.Rows.Count > 0)
                    {
                        for (int k = 0; k < UserInfodt.Rows.Count; k++)
                        {
                            int    Ages     = 0;
                            string Birthday = UserInfodt.Rows[k]["U_Birthday"].ToString();
                            if (Birthday != null && Birthday != "")
                            {
                                DateTime U_Birthday = DateTime.Parse(UserInfodt.Rows[k]["U_Birthday"].ToString());
                                Ages = CalculateAgeCorrect(U_Birthday, RCreatetime);
                            }
                            else
                            {
                                Ages = 0;
                            }

                            if (Acode == "LB_14808297050440")
                            {
                                if (k > 0)
                                {
                                    lr[k].DimensionEntitys.Add(lr[k].DimensionEntitys[0]);
                                    lr[k].DimensionEntitys.RemoveAt(0);
                                }
                            }
                            builder.Append("<tr><td align=\"center\" >" + UserInfodt.Rows[k]["U_LoginName"] + "</td><td align=\"center\">" + UserInfodt.Rows[k]["U_Name"] + "</td><td align=\"center\">" + UserInfodt.Rows[k]["U_Sex"] + "</td><td align=\"center\">" + Ages + "</td><td align=\"center\">" + UserInfodt.Rows[k]["D_name"] + "</td>" + Scorehtml + "");
                            builder.Append(GetScoreHtml(lr[k]));
                            builder.Append("</tr>");
                        }
                    }
                }


                builder.Append("</table></body></html>");
            }
            else
            {
                builder  = new StringBuilder();
                fileName = DateTime.Now.ToString("yyyyMMddhhmmss") + "_" + lenght.ToString();
                path     = Server.MapPath("~/xls_down/" + fileName + ".xls");
                file     = new FileInfo(path);
                //创建字符输出流
                sw = new StreamWriter(path, true, System.Text.UnicodeEncoding.UTF8);
                //需要导出的内容
                builder.Append("<html><head></head><body><table border=\"1\" cellpadding=\"0\" cellspacing=\"0\" width='98%' >");
                builder.Append("<tr><td>暂无数据</td></tr>");
                builder.Append("</table></body></html>");
            }
            #endregion
        }