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

本文关键字:数据 Excel Asp net 使用 | 更新日期: 2023-09-27 18:07:07

我需要写(使用c#, Asp.net 2010)大量的数据(300,000行)从DB到Excel(2010)。它还应该动态创建大约20个表单。因此,最终的Excel工作簿将有15,000行每页和20页。我尝试使用开放的XML (DOM),但它需要大量的时间,我放弃了等待大约40分钟后,但没有输出的迹象。此外,我还尝试遵循Brian jones关于如何使用OpenXmlReader和OpenXmlWriter来复制工作表并向其添加行。但我不知道如何使用这种方法添加表单。

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

我建议你看看SpreadsheetGear。

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

我过去使用过SpreadsheetGear,虽然你必须为它付费,但我发现它非常值得投资。

根据这篇文章

库编写Excel文件

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

你真的,真的需要写出来吗?你有SSRS,它会很乐意为你做这件事。(只要你的数据库是MS SQL Server)。

使用互操作,我知道我们必须关闭自动计算电子表格选项-这提高了电子表格的性能和输入值。

就像Juliusz说的(+1),SSRS可能是解决这个问题的方法,因为它有很多数据。在导出到excel的过程中,有一种方法可以让它们在单独的工作表上,但我忘记了我们是如何做到的。