2014-09-19 47 views
0

我在使用excel導出大量數據時遇到了問題。我有一個.net 4.0網頁,它將數據表綁定到一個gridview,然後嘗試在excel中呈現gridview。我有一個非常大的超過200列的SQL表,我需要導出到Excel。用戶可以輸入限制返回行數的日期範圍。如果日期範圍在幾個月內跨越幾個月,則不會顯示任何數據並且屏幕凍結。我相信我的問題與綁定到gridview的列的數量(超過200)有關。有沒有另一種方法來做到這一點?我如何成功導出大量數據以優化?.NET將大型gridview數據導出爲ex​​cel

我使用下面的代碼來呈現網格 -

Response.Clear() 
Response.Buffer = True 
Response.AddHeader("content-disposition","attachment;filename=Test.csv") 
Response.Charset = "" 
Response.Cache.SetCacheability(HttpCacheability.NoCache) 
Response.ContentType = "application/vnd.xls" 
Using sw As New StringWriter() 
Using htw As New HtmlTextWriter(sw) 
    Dim gv As As new GridView 
    gv.DataSource = dt 
    gv.DataBind() 
    gv.RenderControl(htw) 
    Response.Write(sw.ToString()) 
    Response.End() 

回答

0

您可以使用Excel庫像EasyXLS。 EasyXLS擁有大量的數據。
檢查代碼示例關於如何將gridview導出到Excel: http://www.easyxls.com/manual/FAQ/export-gridview-to-excel.html

+0

您知道有關免費選項嗎? – user3397437 2014-09-21 18:39:12

+0

還有其他免費的Excel庫,如NPOI或EPPlus(僅用於xlsx文件格式),但我不知道他們如何處理大量數據。 – 2014-09-22 08:04:50