使用C#,Asp.net将大量数据写入Excel

时间:2011-08-30 13:23:55

标签: c# asp.net excel

我需要编写(使用C#,Asp.net 2010)从DB到Excel(2010)的大量数据(300,000行)。它还应该动态创建大约20张。因此,最终的Excel工作簿将包含每张15,000行和20张。我尝试使用Open XML(DOM),但它花了很多时间,我在等待大约40分钟后放弃它,但没有输出的迹象。另外,我尝试按照Brian Jone's post关于如何使用OpenXmlReader和OpenXmlWriter复制工作表并向其添加行。但我不知道如何使用该方法添加表格。

非常感谢任何帮助。

4 个答案:

答案 0 :(得分:3)

我建议您查看SpreadsheetGear

使用较小的文件时,创建电子表格的临时方法很好,但是当您开始使用它们来创建更大的文件时,性能和质量会受到影响。

过去我曾经使用过SpreadsheetGear,虽然你需要付费,但发现它非常值得投资。

答案 1 :(得分:2)

根据前一篇文章

Library to write an Excel file

如果许可证(GPL)适合您,EPPlus似乎是您的选择。

答案 2 :(得分:1)

你真的,真的需要写吗?你有SSRS,很乐意为你做。 (只要您的数据库是MS SQL Server)。

答案 3 :(得分:0)

使用互操作,我知道我们必须关闭AutoCalculate电子表格选项 - 这改善了电子表格的性能并输入值。

就像Juliusz所说(+1),SSRS可能是这样做的,因为它是如此多的数据。有一种方法可以让他们在导出到excel的过程中单独使用,但我忘记了我们是如何做到的。