• 将IList、DataTable数据导出到Excel


    /// <summary>
            /// IList导出Excel
            /// </summary>
            /// <typeparam name="T"></typeparam>
            /// <param name="list">集合</param>
            /// <param name="dataColumn">字段</param>
            /// <param name="fileName"></param>
            public static void ListToExcel<T>(IList list, string[] dataColumn, string fileName)
            {
                HttpContext.Current.Response.ContentType = "application/vnd.ms-excel";
                HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8;
                HttpContext.Current.Response.Charset = "Utf-8";
                HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(fileName + ".xls", System.Text.Encoding.UTF8));
                StringBuilder sbHtml = new StringBuilder();
                sbHtml.AppendLine("<meta http-equiv="Content-Type" content="text/html; charset=utf-8">");
                sbHtml.AppendLine("<table cellspacing="0" cellpadding="5" rules="all" border="1">");
                //写出列名
                sbHtml.AppendLine("<tr style="background-color: #FFE88C;font-weight: bold; white-space: nowrap;">");
                foreach (string item in dataColumn)
                {
                    string[] stritem = item.Split(':');
                    sbHtml.AppendLine("<td>" + stritem[0] + "</td>");
                }
                sbHtml.AppendLine("</tr>");
                //写数据
                foreach (T entity in list)
                {
                    Hashtable ht = HashtableHelper.GetModelToHashtable<T>(entity);
                    sbHtml.Append("<tr>");
                    foreach (string item in dataColumn)
                    {
                        string[] stritem = item.Split(':');
                        sbHtml.Append("<td>").Append(ht[stritem[1]]).Append("</td>");
                    }
                    sbHtml.AppendLine("</tr>");
                }
                sbHtml.AppendLine("</table>");
                HttpContext.Current.Response.Write(sbHtml.ToString());
                HttpContext.Current.Response.End();
            }
    
            /// <summary>
            /// DataTable导出Excel
            /// </summary>
            /// <param name="data">集合</param>
            /// <param name="dataColumn">字段</param>
            /// <param name="fileName">文件名称</param>
            public static void DataTableToExcel(DataTable data, string[] dataColumn, string fileName)
            {
                HttpContext.Current.Response.ContentType = "application/vnd.ms-excel";
                HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8;
                HttpContext.Current.Response.Charset = "Utf-8";
                HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(fileName + ".xls", System.Text.Encoding.UTF8));
                StringBuilder sbHtml = new StringBuilder();
                sbHtml.AppendLine("<meta http-equiv="Content-Type" content="text/html; charset=utf-8">");
                sbHtml.AppendLine("<table cellspacing="0" cellpadding="5" rules="all" border="1">");
                //写出列名
                sbHtml.AppendLine("<tr style="background-color: #FFE88C;font-weight: bold; white-space: nowrap;">");
                foreach (string item in dataColumn)
                {
                    sbHtml.AppendLine("<td>" + item + "</td>");
                }
                sbHtml.AppendLine("</tr>");
                //写数据
                foreach (DataRow row in data.Rows)
                {
                    sbHtml.Append("<tr>");
                    foreach (string item in dataColumn)
                    {
                        sbHtml.Append("<td>").Append(row[item]).Append("</td>");
                    }
                    sbHtml.AppendLine("</tr>");
                }
                sbHtml.AppendLine("</table>");
                HttpContext.Current.Response.Write(sbHtml.ToString());
                HttpContext.Current.Response.End();
            }
  • 相关阅读:
    动态规划问题
    神经网络学习总结第二天
    神经网络学习第一天总结
    解决Python2.7的UnicodeEncodeError: ‘ascii’ codec can’t encode异常错误
    IntelliJ IDEA 历史版本下载地址
    第九章 数据查询基础
    第八章 用SQL语句操作数据
    第七章 用表组织数据
    第六章 程序数据库集散地:数据库
    linux文件或文件夹常见操作,排查部署在linux上程序问题常用操作
  • 原文地址:https://www.cnblogs.com/zhao-yi/p/7269772.html
Copyright © 2020-2023  润新知