C#导出EXCEL没有网格线的解决方法

今天在做项目时,通过流导出数据到Excel却不显示网格线,真是郁闷。上网查了好久才得一良方(注意<XML>标签中的代码):
DataTable thisTable  =  DBHelper.GetDataTable( " select * from table " );
string  sheetName  =   " sheetName " ;
string  fileName  =   " fileName " ;

if  (thisTable  !=   null )
{
    StringWriter sw 
=   new  StringWriter();
    sw.WriteLine(
" <html xmlns:x=\ " urn:schemas - microsoft - com:office:excel\ " > " );
    sw.WriteLine(
" <head> " );
    sw.WriteLine(
" <!--[if gte mso 9]> " );
    sw.WriteLine(
" <xml> " );
    sw.WriteLine(
"  <x:ExcelWorkbook> " );
    sw.WriteLine(
"   <x:ExcelWorksheets> " );
    sw.WriteLine(
"    <x:ExcelWorksheet> " );
    sw.WriteLine(
"     <x:Name> "   +  sheetName  +   " </x:Name> " );
    sw.WriteLine(
"     <x:WorksheetOptions> " );
    sw.WriteLine(
"       <x:Print> " );
    sw.WriteLine(
"        <x:ValidPrinterInfo /> " );
    sw.WriteLine(
"       </x:Print> " );
    sw.WriteLine(
"     </x:WorksheetOptions> " );
    sw.WriteLine(
"    </x:ExcelWorksheet> " );
    sw.WriteLine(
"   </x:ExcelWorksheets> " );
    sw.WriteLine(
" </x:ExcelWorkbook> " );
    sw.WriteLine(
" </xml> " );
    sw.WriteLine(
" <![endif]--> " );
    sw.WriteLine(
" </head> " );
    sw.WriteLine(
" <body> " );
    sw.WriteLine(
" <table> " );
    sw.WriteLine(
"  <tr> " );
    sw.WriteLine(
"   <td><strong>列名0</strong></td> " );
    sw.WriteLine(
"   <td>列名1</td> " );
    sw.WriteLine(
"   <td>列名2</td> " );
    sw.WriteLine(
"   <td>列名3</td> " );
    sw.WriteLine(
"   <td>列名4</td> " );
    sw.WriteLine(
"   <td>列名5</td> " );
    sw.WriteLine(
"  </tr> " );
    
foreach  (DataRow dr  in  thisTable.Rows)
    {
        sw.WriteLine(
"  <tr> " );
        sw.WriteLine(
"   <td> "   +  dr[ " C0 " +   " </td> " );
        sw.WriteLine(
"   <td> "   +  dr[ " C1 " +   " </td> " );
        sw.WriteLine(
"   <td> "   +  dr[ " C2 " +   " </td> " );
        sw.WriteLine(
"   <td> "   +  dr[ " C3 " +   " </td> " );
        sw.WriteLine(
"   <td> "   +  dr[ " C4 " +   " </td> " );
        sw.WriteLine(
"   <td> "   +  dr[ " C5 " +   " </td> " );
        sw.WriteLine(
"  </tr> " );
    }
    sw.WriteLine(
" </table> " );
    sw.WriteLine(
" </body> " );
    sw.WriteLine(
" </html> " );
    sw.Close();
    Response.Clear();
    Response.Buffer 
=   true ;
    Response.Charset 
=   " UTF-8 " ;
    
this .EnableViewState  =   false ;
    Response.AddHeader(
" Content-Disposition " " attachment; filename= "   +  fileName  + " .xls " );
    Response.ContentType 
=   " application/ms-excel " ;
    Response.ContentEncoding 
=  System.Text.Encoding.GetEncoding( " GB2312 " );
    Response.Write(sw);
    Response.End();
}

转载于:https://www.cnblogs.com/linyechengwei/archive/2009/11/07/1597835.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值