zoukankan      html  css  js  c++  java
  • Asp.net导出Excel报表(解决无网格问题)

      随着单位活动的增多,各大4S店要求查看活动报名的要求的出现,导出Excel或者是Word文档功能显得尤为重要。可以大量节省编辑的工作时间和工作强度。
            今天花了点时间编写了各大报名品牌的Excel导出功能。原理非常简单,其实就想往页面输出报名列表,不同的是在输出HTML文本时在HEAD标记 HTML标记增加点东西。
           代码如下:
                  
     1  string strExportFileName = new SysCar.BLL.BrandCategory().GetModel(Convert.ToInt32(this.rblJoinBrand.SelectedValue)).Name;
     2                 int actID = Convert.ToInt32(Request.QueryString["actid"]);
     3                 SysCar.BLL.Apply apply = new BLL.Apply();
     4 
     5                 List<SysCar.Model.Apply> appExcel = apply.DataTableToList(apply.GetList("(ActivityID=" + actID + " and PATINDEX('%|" + this.rblJoinBrand.SelectedValue + "|%',BrandCollection)>0)").Tables[0]);
     6 
     7                 Response.ContentType = "application/vnd.ms-excel";
     8                 Response.AddHeader("Content-Disposition""inline;filename="
     9                     + HttpUtility.UrlEncode(strExportFileName + "_名单.xls", Encoding.UTF8));
    10 
    11 
    12                 //如果输出为Word,修改为以下代码
    13                 //Response.ContentType = "application/ms-word" 
    14                 //Response.AddHeader("Content-Disposition", "inline;filename=test.doc") 
    15 
    16                 StringBuilder sb = new StringBuilder();
    17                 System.IO.StringWriter sw = new System.IO.StringWriter(sb);
    18                 System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(sw);
    19                 sb.Append("<html xmlns:x=urn:schemas-microsoft-com:office:excel><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>" + strExportFileName + "</x:Name><x:WorksheetOptions><x:Print><x:ValidPrinterInfo /></x:Print></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--><meta http-equiv=Content-Type content=\"text/html; charset=utf-8\">");
    20                 sb.Append("<table><tr><td colspan=4>" + strExportFileName + "<font color='red'>" + appExcel.Count + "(人)</font></td></tr><tr><td>编号</td><td>姓名</td><td>性别</td><td>联系电话</td></tr>");
    21                 for (int i = 0; i < appExcel.Count; i++)
    22                 {
    23                     string strSex = "";
    24                     if (Convert.ToInt32(appExcel[i].Sex) == 2)
    25                     {
    26                         strSex = "";
    27                     }
    28                     sb.Append("<tr><td>" + appExcel[i].ApplyID + "</td><td>" + appExcel[i].Name + "</td><td>" + strSex + "</td><td>" + appExcel[i].Mobile + "</td></tr>");
    29 
    30                 }
    31                 sb.Append("</table>");
    32                 sb.Append("</body></html>");
    33 
    34 
    35                 Response.Write(sb.ToString());
    36                 Response.End();

    关键点:

     1 
     2 <!--解决导出Excel无表格线问题-->
     3 <html xmlns:x=urn:schemas-microsoft-com:office:excel>
     4 <head>
     5 <!--[if gte mso 9]>
     6 <xml>
     7 <x:ExcelWorkbook>
     8 <x:ExcelWorksheets><x:ExcelWorksheet>
     9 <x:Name>表格名称</x:Name>
    10 <x:WorksheetOptions>
    11 <x:Print><x:ValidPrinterInfo /></x:Print>
    12 </x:WorksheetOptions>
    13 </x:ExcelWorksheet></x:ExcelWorksheets>
    14 </x:ExcelWorkbook>
    15 </xml>
    16 <![endif]-->
    17 
    18 
    19 
    20 <!--解决导出Excel中文乱码问题-->
    21 <meta http-equiv=Content-Type content=\"text/html; charset=utf-8\">
    22 
  • 相关阅读:
    移动web开发之flex布局(弹性布局)
    移动web开发之流式布局
    移动端基础
    3D变形(CSS3) transform
    动画(CSS3) animation
    2D变形(CSS3) transform
    过渡(CSS3)
    CSS精灵技术(sprite)
    字体图标
    伸缩布局(CSS3)
  • 原文地址:https://www.cnblogs.com/AlexCheng/p/1809106.html
Copyright © 2011-2022 走看看