将数据从 Excel sheet 提取到多个 SQL 服务器表

Extract data from Excel sheet to multiple SQL Server tables

我有一个 Excel 文件,其中包含几列 (20) 和一些我需要上传到 4 SQL 服务器 table 的数据。 table 是相关的,特定的列代表我每个 table.

的 id

是否有 ETL 工具可用于自动执行此过程?

此查询使用 bulk insert 将文件存储在 #temptable 然后将此临时 table 中的内容插入到数据库中您想要的 table 中,但是要导入的文件是 .csv。在执行此操作之前,您可以将 excel 文件保存为 csv

 CREATE TABLE #temptable (col1,col2,col3)
 BULK INSERT #temptable from 'C:\yourfilelocation\yourfile.csv' 
 WITH 
    (
    FIRSTROW = 2, 
    fieldterminator = ',', 
    rowterminator = '0x0A' 
    ) `


INSERT INTO yourTableInDataBase (col1,col2,col3)
SELECT (col1,col2,col3)
FROM #temptable

要自动执行此操作,您可以将其放入存储过程并使用 batch.Edit 此代码调用存储过程并将其放入 textfile 并另存为 cmd

set MYDB= yourDBname
set MYUSER=youruser
set MYPASSWORD=yourpassword
set MYSERVER=yourservername
sqlcmd -S %MYSERVER% -d %MYDB% -U %MYUSER% -P %MYPASSWORD% -h -1 -s "," -W -Q "exec yourstoredprocedure"