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();
}

你可能感兴趣的:(导出Excel)