簡體   English   中英

將多個 Excel 文件導入 SQL Server

[英]Import Multiple Excel files to SQL Server

我有大約 40 多個 excel 文件想要導入到 SQL Server 2012。導入向導是一個很棒的工具,但它一次只允許我導入一個文件。

我想避免使用 SSIS,因為導入應該相對容易 - 基本上它只是直接復制粘貼,Excel 文件中的第一行是列名,Excel 文件名 = 表名。

有什么簡單的方法可以實現這一目標嗎?

編輯:由於列會經常更改,我想避免手動創建表。 該向導很棒,因為它會自動為我創建表。

我使用的一種解決方案是將多個 Excel 文件合並為一個包含多個工作表的文件。 這可以通過運行 VBA 腳本(例如如何將 Excel 文件與 VBA 合並 - 感謝 Svetlana Cheusheva )然后使用 SSMS 導入向導將多個工作表加載到多個表中來完成。 就我而言,我有 160 個文件,但它們不是很大——100 到 10000 行——而且它對我來說效果很好。

您可以使用 OpenRowSet 來完成。 可以在查詢的 FROM 子句中引用 OPENROWSET 函數,就像它是表名一樣。

使用以下 SELECT 語句和 OPENROWSET 函數讀取 excel

SELECT * 
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
                'Excel 8.0;Database=C:\Source\Addresses.xls;IMEX=1',
                'SELECT * FROM [Sheet1$]')

要在不使用 DTS 的情況下將其導入 SQL Server 表,因為您可以使用 SELECT 語句讀取數據,您只需添加 INTO 子句即可將記錄插入到新的 SQL Server 表中。

SELECT * 
INTO [dbo].[Addresses_NewTable]
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
                'Excel 8.0;Database=C:\Source\Addresses.xls;IMEX=1',
                'SELECT * FROM [Sheet1$]')

參考文章:- http://www.sql-server-helper.com/tips/read-import-excel-file-p03.aspx

這可能比您想對您的問題進行更多的研究,但您也可能會考慮使用 BIML 來編寫繁瑣且眾多類似的程序包。

http://www.sqlservercentral.com/stairway/100550/ http://www.mssqltips.com/sqlservertip/3094/introduction-to-business-intelligence-markup-language-biml-for-ssis/

使用 Kutools for Excel 將跨工作簿的工作表合並到新工作簿中的一個工作表中,然后加載它。

https://www.extendoffice.com/product/kutools-for-excel/merge-excel-wordbooks.html#a4

這就是我正在做的。

暫無
暫無

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

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