zoukankan      html  css  js  c++  java
  • 将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();
            }
  • 相关阅读:
    OpenCV基本函数学习
    OpenCV:概述、结构和内容
    NS2典型例子简单分析
    NS2仿真过程中需要的语言及基本组件
    洛谷 P2393 yyy loves Maths II
    洛谷 P1922 女仆咖啡厅桌游吧
    洛谷 P2559 [AHOI2002]哈利·波特与魔法石
    洛谷 P1301 魔鬼之城
    洛谷 P2383 狗哥玩木棒
    洛谷 P2298 Mzc和男家丁的游戏
  • 原文地址:https://www.cnblogs.com/zhao-yi/p/7269772.html
Copyright © 2011-2022 走看看