2014-09-19 62 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