我意識到這是一個很好的主題,但是在查看一些帖子後我正在尋找不同的解決方案。該應用程序是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