我正在處理一個導入腳本,這個想法是將多個工作簿導入到一個表中。我已經取得了進展,所以我能夠將一個工作簿成功導入到我的表格中。我想要做的是創建一個查詢,它將循環一個文件夾讀取文件名並將數據導入Microsoft SQL Server Management Studio中的數據庫。SQL Server Excel工作表導入
--Creating the TABLE--
CREATE TABLE BrewinDolphinHoldings
(
recordID INT AUTO_NUMBER
FUNDNAME VARCHAR(25),
SEDOL VARCHAR(7),
ISIN VARCHAR(11),
NAME VARCHAR(20),
WEIGHT INTEGER(3)
)
constraint[pk_recordID]PRIMARYKEY
(
[recordID] ASC
)
INSERT INTO BrewinDolphinHoldings
VALUES
("HoldingsData', GB125451241, DavidsHoldings, 22)
--SELECTING THE SHEET--
SELECT/UPDATE? *
FROM OPENROWSET('Microsoft.JET.OLEDB.4.0',
'Excel 8.0;Database=X:\CC\sql\DEMO\SpreadsheetName + '.xlsx',
'SELECT * FROM [Sheet1$]') AS HoldingsData
所以基本上我的問題是,我想創建一個循環的循環,將在目錄中讀取的文件名,而進口將在每次循環的時間讀了名字和導入相關的電子表格?所以,例如:
DECLARE SpreadsheetName as STRING
DECLARE FileExtension as '.xlsx'
FOR EACH ITEM IN DIRECTORY
X=1
Y=MAX
FILENAME THAT LOOP READS = SpreadsheetName
SELECT * FROM
OPENROWSET('Microsoft.JET.OLEDB.12.0',
'Excel 8.0;Database=X:\CC\sql\DEMO\SpreadsheetName + fileExtension.xls
END LOOP
所以,我想也許是這樣的?雖然我不知道該循環是否會覆蓋我的數據庫?也許而不是更新我應該使用INSERT? 我不想使用SSIS,最好是查詢,雖然如果有人可以推薦任何我可以看看,或者,幫助我這個循環這將大大幫助
我很樂意接受你們的新想法,所以如果任何人都可以嘗試修復我的代碼,或者給我多個excel表導入的例子,將不勝感激!
我是SQL Server的新手,我確實有一些以前的編程經驗!
謝謝!
太好了,我會仔細研究一下。 – Coder1994UK