我意识到这是一个很好的主题,但是在查看一些帖子后我正在寻找不同的解决方案。该应用程序是ac#web,.net framework 4.5应用程序,需要从SQL Server 2012数据库导出大约80,000多行到Excel电子表格模板(使其看起来很漂亮并进行格式化)并将其流式传输给用户以供下载。从SQL Server 2012导出大量行到Excel
我知道一个答案可能是重新问,为什么我们需要做到这一点,并找到一种替代方式。该应用程序正在审查众多的金融交易。用户希望保留在Excel中导出和播放数据的能力。在我开始寻找替代方法来帮助他们之前,我想看看有没有人有任何明智的想法!
电流溶液循环通过数据和使用openxml库生成XML。对于较小的数据集,这种方法运行良好,而对于较大的数据集则需要很长时间。
是否有任何替代创建Excel文件,无需:
- 提取数据库中的所有数据将通过某种数据传输对象的是缓慢,因为它的周围传输大量数据的应用。
- 使用需要许可的第三方组件,因为没有预算。
- 使用OpenXml循环遍历所有行并生成完整的输出。
- 生成和存储网络驱动器上的物理文件,因为存在数据安全限制。
- 使用SSRS
我想一起使用SQL Server在内存中生成(通过SSIS)Excel文件的东西线,从应用程序中打开一个流,通过OPENXML或别的东西编辑格式然后将文件流式传输给用户。不确定这是可能的还是有其他选择?
我还没有看到造型响应输出的该方法之前,所以1,但如所提到的,数据拉动到应用程序来呈现将慢下来不幸所以-1。 – sarin
@sarin数据量(以字节为单位)是多少? – dario
那么使用OpenXML生成的带有80000行的excel文件目前大约为10MB。 – sarin