2012-01-06 212 views
3

有沒有辦法在Excel中從一行數據對SQL Server執行批量更新?我們擁有包含超過2000多行的excel文檔,需要在SQL Server中導入。有沒有一種方法可以批量插入這些傢伙而不用一次又一次地調用數據庫來一次插入一行?批量從Excel插入到SQL Server中

回答

7

SQL Server集成服務提供了一個基於嚮導的導入,它可以幫助您輕鬆設置一個包來導入一個excel文件。您甚至可以保存包裹並安排它在將來重複導入。

您還有其他選擇。如果將excel文件保存爲逗號或製表符分隔的文本文件,則可以使用BULK INSERT t-sql命令。請參閱an example on the sqlteam.com forums

另一個T-SQL選項是SELECT INTO。 Excel是來自T-SQL的有效OLEDB或ODBC數據源。 Here's an example

還有一個名爲BCP的Microsoft SQL Server附帶的命令行導入工具。有關BCP和其他選項的良好文檔可以在MSDN上找到:http://msdn.microsoft.com/en-us/library/ms187042.aspx

+0

+1對於BCP。我曾經用過一次,我很驚訝它輸入的速度有多快,大約有50萬行。 – Aaron 2012-01-06 18:24:07

+0

將研究這些鏈接。這些選項是自動的,正確的?我的意思是用戶上傳一個Excel文件,並在現場進行處理。 – 2012-01-06 18:27:54

+0

@MikeFlynn很高興他們幫忙。 – 2012-01-06 18:31:50

1

是的!使用SSMS的導入/導出嚮導!使用Excel源和SQL Server目標。如果您將Excel表單轉換爲CSV文件,您也可以在BIDS中創建SSIS包或使用T-SQL中的BULK INSERT語句。

1

您可以創建一個SSIS包來讀取您的Excel文件。創建任務時,可以選擇「Excel」的連接類型,然後它可以幫助您創建「Excel連接管理器」。然後,您可以輕鬆地將數據發送到您的SQL Server表。這裏有關於how to import an Excel file into SQL Server(2005)的教程。看一看。