2013-10-10 186 views
6

我需要創建一個進程以將多選項卡式Excel電子表格導入SQL Server 2008R2。每個選項卡將是數據庫中的不同表格。這需要每週進行一次,並且應該自動進口。理想情況下,我想將電子表格彈出到一個文件夾中(或讓一些實習生這樣做),並讓sql運行一個查看此文件夾的過程,並將數據添加到此數據庫中的表中。我還想有另一張表格跟蹤進口和日期戳記。我真的不知道從哪裏開始,因爲在tsql上我是一個非常棒的noob。導入Excel到SQL Server 2008

回答

2

如果你僅限於TSQL,上述兩個答案會告訴你一些想法。如果您有權訪問Data ToolsBusiness Intelligence以及SSIS,則可以假定Excel工作簿中的每個表單匹配每次都可以自動執行此操作。使用SSIS,您將使用數據流任務,並將每張表導入到您想要的表中。當您下週準備好文件時,您會將其放入該文件夾並運行SSIS包。但是,如果圖表名稱發生變化(例如,一週的牀單被稱爲Cats,Dogs,Rain,下一週是硫,火,地獄),那麼這會導致包裹破損。否則,如果只有工作表內的數據發生變化,那麼這可以通過SSIS完全自動化。

示例文章:https://www.simple-talk.com/sql/ssis/moving-data-from-excel-to-sql-server---10-steps-to-follow/

+0

我讀過這篇文章,它看起來很漂亮ightforward。我會爲每個tab \ table創建不同的數據流分支嗎? – d90

+0

@NicholasJDininno對於多個工作表,我將有一個數據流任務,並且在該數據流任務中,具有多個ADO.NET或OLE DB連接目標的Excel源。如果你選擇,你可以做幾個數據流;隨你便。 – Question3CPO

5

微軟有一篇不錯的文章 - http://support.microsoft.com/kb/321686 - 概述了所涉及的過程。

的過程簡直是

SELECT * INTO XLImport3 FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0', 
    'Data Source=C:\test\xltest.xls;Extended Properties=Excel 8.0')...[Customers$] 

哪裏XLImport3是要導入到表中的數據源是要從導入Excel表。

+0

您需要通過才能使用使用sp_configure允許使用的 '特設分佈式查詢' 'OpenDatasource' – illumi

2

以下是將csv文件中的數據插入給定表的代碼。我不是項目的全部要求,但是如果我是你,我只需將每個表分成不同的文件,然後運行一個將數據插入到每個表中的proc。

BULK 
INSERT TABLE_NAME 
FROM 'c:\filename.csv' 
WITH 
(
    FIELDTERMINATOR = ',', 
    ROWTERMINATOR = '\n' 
) 

insert into import_history ('filename', 'import_date') values ('your_file_name', getdate()) 

而且,跟蹤進口和時間戳的表格中,你可以只中插入一些數據表中的每個批量插入後由上述可見。

而且,這裏有一個鏈接到批量插入教程從CSV文件也可能會有幫助:http://blog.sqlauthority.com/2008/02/06/sql-server-import-csv-file-into-sql-server-using-bulk-insert-load-comma-delimited-file-into-sql-server/

0

其非常簡單。右鍵單擊SQL服務器(2008)數據庫,選擇Tasks並選擇Import Data

enter image description here



現在改變DataSourceMicrosoft Excel。點擊Browse按鈕,然後點擊Next,選擇Excel文件的路徑。

enter image description here



之所以選擇Sql Server instance並選擇其中的excel要導入的數據庫。

enter image description here



選擇Copy data from one or more tables or views並單擊Next

enter image description here



現在選擇的薄片要導入到Sql Server

enter image description here



點擊Next

enter image description here



現在點擊Finish

enter image description here



現在嚮導從Excel導入數據到Sql Server並單擊Close

enter image description here



下面是表

enter image description here

+0

看看OP在哪裏說「...應該是自動化的......」 – kfm2000