2011-11-14 90 views
0

我用這個代碼來探索網格excel.I從網上得到了這個代碼。將網格導出爲ex​​cel

protected void Button1_Click(object sender, EventArgs e) 
{ 
Response.Clear(); 
Response.Buffer = true; 
Response.AddHeader("content-disposition", "attachment;filename=GridViewExport.xls"); 
Response.Charset = ""; 
Response.ContentType = "application/vnd.ms-excel"; 
StringWriter sw = new StringWriter(); 
HtmlTextWriter hw = new HtmlTextWriter(sw); 
GridView1.AllowPaging = false; 
GridView1.DataBind(); 
GridView1.RenderControl(hw); 
Response.Output.Write(sw.ToString()); 
Response.Flush(); 
Response.End(); 
} 

當我使用此代碼,數據網格在Excel中得到展示,但不具有縱向和橫向lines.It表示沒有使用任何主題的GridView GridView的列名作爲鏈接不正常text.I並且列是自動生成的。一列說col3包含更多的描述,所以它的數據在第二行開始時顯示在頂部,仍然是cell2中顯示的描述。所以我想添加垂直和水平線,因此很容易要知道哪些數據屬於哪個id。我想要格式化col 1,也是隻有數字格式和小數位的零。

1 col1 col2    col3 
            hjhhjhjhjhjhjhjhjhjhjbbv 
            gfgfgfuiuiuiuiui 
    2 9.12E+11 gkjj    etwtrtrwqtrtttwwtretqwfe 
            dear member 
             gffgf 

    3 565E+11 hghgh 
+0

但是,這不是一個真正的Excel文件 - 你喂的Excel HTML與Excel的內容類型。用真正的Excel可以避免這種情況,但不適用於免費的Excel查看器。你應該使用[其中一個庫](http://stackoverflow.com/questions/151005/create-excel-xls-and-xlsx-file-from-c-sharp)來生成一個真正的Excel文件。然後你就可以控制單元格格式等 – Rup

回答

0

在頁面加載事件綁定網格數據,然後嘗試再次導出..請點擊此鏈接的代碼..可能是這將是很好的,而不是別人......

Exporting GridView Data to Excel

代碼摘錄:

private void ExportGridView() 
    { 
     string attachment = "attachment; filename=Contacts.xls"; 
     Response.ClearContent(); 
     Response.AddHeader("content-disposition", attachment); 
     Response.ContentType = "application/ms-excel"; 
     StringWriter sw = new StringWriter(); 
     HtmlTextWriter htw = new HtmlTextWriter(sw); 
     GridView1.RenderControl(htw); 
     Response.Write(sw.ToString()); 
     Response.End(); 
    } 

注:有一些評論也發佈也有一些信息..

要根據網格控件格式GridView控件,當您將數據導出到Excel然後按照下面的鏈接: ASP.Net 2.0: Export GridView to Excel