我有10个具有相同数据结构的Excel文件。每个文件在Sheet1中都有名字和姓氏。但是文件名不同,并且没有模式。所有10个文件都位于同一文件夹中。
我想使用SQL合并所有10个文件并将其合并到一个SQL表中。有没有办法做到这一点。
Files path: C:\User\ferguson\excelfiles
Excel file 1 : name.xlsx
Excel file 2: names.xlsx
Excel file 3: details.xlsx
.
.
.
.
Excel file 10: info.xlsx
我想要一个单一的SQL表,并使用SQL QUERY记录所有文件中的所有数据。可以使用BULK Insert或其他方法完成吗?
任何帮助表示感谢
考虑使用兼容的ODBC驱动程序或OLEDB提供程序来在所有工作簿上运行OPENROWSET
查询,请考虑OPENROWSET
或OPENDATASOURCE
。下面假设每个工作簿都有名为OPENDATASOURCE
和UNION
的命名列,这些列从名为FirstName
的工作表的LastName
开始。
A1
或者,您可以使用提供程序版本:
Sheet1
可能甚至可以合并到一个电话中,连接到第一个工作簿:
SELECT * FROM
OPENROWSET('MSDASQL','DRIVER={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};
DBQ=C:\Path\To\File1.xlsx',
'SELECT [FirstName], [LastName] FROM [Sheet1$]')
UNION ALL
SELECT * FROM
OPENROWSET('MSDASQL','DRIVER={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};
DBQ=C:\Path\To\File2.xlsx',
'SELECT [FirstName], [LastName] FROM [Sheet1$]')
...
UNION ALL
SELECT * FROM
OPENROWSET('MSDASQL','DRIVER={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};
DBQ=C:\Path\To\File10.xlsx',
'SELECT [FirstName], [LastName] FROM [Sheet1$]')
尝试此方法您可以下载kutools等外部工具以获取excel或ablebits或其他任何工具来执行这些操作。它们具有出色的功能,并且有些日子是免费的。