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 

 

 

转载于:https://www.cnblogs.com/AlexCheng/archive/2010/08/26/1809106.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值