簡體   English   中英

將多個Excel文件/工作表導入SQL表

[英]Import multiple Excel files/sheets into SQL Table

我大約有100個xlsx文件,每個文件都有1-7張紙。 每個文件和工作表都與我要將所有內容導入到的表的列相同。

我可以成功使用它:

SELECT *
FROM OPENROWSET(
  'Microsoft.ACE.OLEDB.12.0',
  'Excel 12.0;Database=C:\0.xlsx',
  'SELECT * FROM [sheet1$]'
)

要么

SELECT * FROM OPENDATASOURCE( 'Microsoft.ACE.OLEDB.12.0', 'Data Source="C:\0.xlsx";
Extended properties=Excel 8.0')...Sheet1$

但是,如何從一個文件導入多張圖紙?

  1. 為Excel文件創建鏈接服務器
  2. 使用sp_tables_ex發現提供程序返回的表(大多數情況下應該是工作表名稱,但這可能取決於提供程序的實現)

鏈接服務器

EXEC sp_addlinkedserver
    @server = 'ExcelServer1',
    @srvproduct = 'Excel',
    @provider = 'Microsoft.Jet.OLEDB.4.0',
    @datasrc = 'C:\Test\excel-sql-server.xls',
    @provstr = 'Excel 8.0;IMEX=1;HDR=YES;'

EXEC sp_dropserver
    @server = N'ExcelServer1',
    @droplogins='droplogins'

暫無
暫無

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

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