zoukankan      html  css  js  c++  java
  • C# 导出 excel 复杂格式 html导出

    /// <summary>
            /// 夜班津贴统计导出
            /// </summary>
            public void ExportOtStat(string data)
            {
                var input = data.DeserializeObject<StructExportOtStat>();
                List<Usp_PRO_ExportOtStatResult> list = null;
                using (var context = PRODBHelper.DataContext)
                {
                    list = context.Usp_PRO_ExportOtStat(input.beginDate, input.endDate).ToList();
                    //var output = results.ToList().SerializeObject();
                    //HttpContext.Current.Response.Write(output);
                }
                //HttpContext.Current.Response.End();
                StringBuilder sbdHTML = new StringBuilder();
                DateTime StartDate = input.beginDate;
                DateTime EndDate = input.endDate;
                Hashtable hshData = new Hashtable();
                string[] arrColumns = {"序号",
                                       "员工编号",
                                       "姓名",
                                       "开始时间",
                                       "结束时间",
                                       "夜班日期",
                                       "津贴标准",
                                       "夜班次数",
                                       "津贴总数"};
                sbdHTML.Append("<HTML>");
                sbdHTML.Append(GetExcelTitleHTML(StartDate));
                sbdHTML.Append("<div style="height:50px"></div>");
                sbdHTML.Append(GetExcelInfo(StartDate));
                sbdHTML.Append("<div style="height:10px"></div>");
                sbdHTML.Append("<Table border=1>");
                sbdHTML.Append(GetOTExcelHeaderHTML(arrColumns));
                foreach (Usp_PRO_ExportOtStatResult item in list)
                {
                    sbdHTML.Append(GetExcelRowHTML(item));
                }
                sbdHTML.Append("</Table>");
                sbdHTML.Append("</HTML>");
                HttpResponse resp;
                resp = System.Web.HttpContext.Current.Response;
                resp.Charset = "GB2312";
                resp.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
                resp.AppendHeader("Content-Disposition", "attachment;filename=" 
                    + System.Web.HttpUtility.UrlEncode("信息总中心" + StartDate.Month.ToString() + "月夜班津贴统计.xls", System.Text.Encoding.UTF8));
                resp.Write(sbdHTML.ToString());
                resp.End();
            }
            private string GetExcelTitleHTML(DateTime ReportDate)
            {
                StringBuilder sbdHTML = new StringBuilder();
                sbdHTML.AppendFormat("<div align="center" style="60%; font-size:large; font-weight:bold;" >{0}年{1}月夜班津贴统计表</div>",
                    ReportDate.Year.ToString(),ReportDate.Month.ToString());
                return sbdHTML.ToString();
            }
            private string GetExcelInfo(DateTime ReportDate)
            {
                StringBuilder sbdHTML = new StringBuilder();
                sbdHTML.Append("<div align="left" style="60%">部门(盖章):信息总中心</div>");
                return sbdHTML.ToString();
            }
            private string GetOTExcelHeaderHTML(string[] arrColumns)
            {
                StringBuilder sbdHTML = new StringBuilder();
                sbdHTML.Append("<tr>");
                for (int i = 0; i < arrColumns.Length; i++)
                {
                    sbdHTML.AppendFormat("<td>{0}</td>", arrColumns[i]);
                }
                sbdHTML.Append("</tr>");
                return sbdHTML.ToString();
            }
            private string GetExcelRowHTML(Usp_PRO_ExportOtStatResult item)
            {
                StringBuilder sbdHTML = new StringBuilder();
                sbdHTML.Append("<tr>");
                sbdHTML.AppendFormat("<td>{0}</td>", item.ID);
                sbdHTML.AppendFormat("<td>{0}</td>", item.UserID);
                sbdHTML.AppendFormat("<td>{0}</td>", item.UserName);
                sbdHTML.AppendFormat("<td>{0}</td>", item.BeginTime);
                sbdHTML.AppendFormat("<td>{0}</td>", item.EndTime);
                sbdHTML.AppendFormat("<td>{0}</td>", item.NightShiftDates);
                sbdHTML.AppendFormat("<td>{0}</td>", item.SalaryNormal.ToString());
                sbdHTML.AppendFormat("<td>{0}</td>", item.NightShiftNum.ToString());
                sbdHTML.AppendFormat("<td>{0}</td>", item.SalarySum.ToString());
                sbdHTML.Append("</tr>");
                return sbdHTML.ToString();
            }
  • 相关阅读:
    P3180 [HAOI2016]地图
    P2787 语文1(chin1)- 理理思维
    P2221 [HAOI2012]高速公路
    P4137 Rmq Problem / mex
    P3746 [六省联考2017]组合数问题
    P2461 [SDOI2008]递归数列
    P3715 [BJOI2017]魔法咒语
    P3195 [HNOI2008]玩具装箱TOY
    Linux下的strerror是否线程安全?
    bash/shell的字符串trim实现
  • 原文地址:https://www.cnblogs.com/niaowo/p/4051042.html
Copyright © 2011-2022 走看看