簡體   English   中英

有沒有更好的方法可以使用C#或SQL Server將批量數據導出到excel?

[英]Is there is any better way to export bulk data into excel using C# or SQL Server?

我的應用程序中有一個搜索頁面,可以基於兩個日期搜索數據。 用戶還可以將數據導出到excel。 我正在使用普通的asp.net網格視圖來顯示數據。 在導出到excel中,我正在使用OPENROWSET方法將數據從sqlserver插入excel(這有時會拋出鏈接服務器null錯誤,在各種技術站點上都給出了所有建議,但有時仍會發生錯誤)。

當用戶將一年的數據導出到excel中時,即使查詢返回數據的速度更快,該頁面也至少需要20分鍾才能導出,因此使用openrowset寫入excel會花費更多的時間。 1年的數據大約是2百萬條記錄,之前我使用c#代碼將數據寫入excel,這也花費了更多時間。 一年數據的excel文件大小超過200 mb。

是否有更好的批量數據excel導出方法?

SSIS非常適合導出大量數據。

讓SQL Server為您創建一個SSIS程序包,然后SSIS程序包會比編寫代碼快得多。 為此:

1. In SQL Server Management Studio Right Click on the target database and click on Tasks in the pop-up  menu 
2) Select Import Data
3) On Data Source select Microsoft Excel and browse to where the excel spreadsheet will be.

繼續選擇,並確保保存了生成的包。

該程序包可以作為SQL Server作業運行,也可以使用dtexec(SQL Server util)命令從命令行運行。

SSIS包將非常快速地處理2000000行(在我的計算機上,它每秒讀取10000行-您的結果會有所不同)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM