我想合併一些文件。大約40,000個excel文件的格式完全相同(列等)。合併Excel文件的數量並加載到SQL數據庫
我試圖通過CMD運行一個合併命令,它已將它們合併到一個點上,但合併到的CSV文件由於其大小而無法打開。
我想知道的是什麼是最好的過程來合併如此大量的文件,然後將它們加載到SQL服務器的過程。
是否有任何工具或可能需要定製和構建的東西?
我想合併一些文件。大約40,000個excel文件的格式完全相同(列等)。合併Excel文件的數量並加載到SQL數據庫
我試圖通過CMD運行一個合併命令,它已將它們合併到一個點上,但合併到的CSV文件由於其大小而無法打開。
我想知道的是什麼是最好的過程來合併如此大量的文件,然後將它們加載到SQL服務器的過程。
是否有任何工具或可能需要定製和構建的東西?
我不知道應該是一個工具,但我的第一個想法是這樣的,以爲你是有經驗的事務SQL:
dir *.xlsx /b > source.txt
這將創建一個名爲「的Source.txt」文本文件,它包含了所有您的Excel文件的名稱(唯一名稱)
將該文件導入到SQL Server表中,即名爲「sourcefiles」
創建一個新的存儲過程,其中包含一個遊標。遊標應該在循環中逐行讀取表「sourcefiles」,並將實際緩存的Excel文件的名稱存儲在一個變量中,即名爲「@FileName」
在此循環中執行如下所示的sql語句每readed Excel文件:
SELECT * INTO dbo.YourDatabaseTable
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
'Excel 12.0 Xml;HDR=YES;[email protected]',
'SELECT * FROM [YourWorkSheet$]')
讓光標讀取下一行
替換 「YourDataseTable」 和 「YourWorkSheet」 您的需求。
@FileName
必須包含Excel文件的完整路徑。
也許你必須在執行sql命令之前下載Microsoft.ACE.OLEDB.12.0-Provider。
希望,這有助於想想你的進一步措施
邁克爾
編輯:有可能出現的錯誤
上 this網站看看