2014-02-11 187 views
0

我的客戶在Excel中給數據看起來像這樣:客戶端數據到SQL服務器

| Sno | Product Name | Product Type | Supplier 
--------------------------------------------------- 
| 1  | Mobile  | Gadgets  | Steve 
| 2  | DataCard  | Internet  | Hauwai 

(更多的行和列)

我設計了一個單獨的表產品,類型和供應商等,現在我需要將數據導入到SQL Server中。我需要在Excel工作表中用ID和供應商名稱ID替換產品類型。我怎樣才能做到這一點? Excel工作表有更多的列和行。例如它有超過1000種產品類型。

+0

@samyi我嘗試手動..請提供一些建議如何做到這一點更容易.. – Siva

回答

0

一個解決方案,我想到的是:

1)創建SSIS包如: 源(將EXCEL)>目的地將是另一個表名Producttype,產品,供應商等。

Create table ProductType(
     ProductTypeID int identity(1,1), 
     ProductType varchar(255) 
     ) 


     Create table Product(
     ProductID int identity(1,1), 
     ProductName varchar(255) 
     ) 


     Create table Supplier(
     SupplierID int identity(1,1), 
     SupplierName varchar(255) 
     ) 

2)您可以使用源Excel中的簡單包和SQL Server表中的目的地執行此操作。

編輯:

雖然你的數據轉儲到目標表,你只有實際的字段從Excel源來擔心。身份證是身份字段,將被照顧。

0

如果這是一個一次性的過程,使用ACE

SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0','Excel 12.0;HDR=YES;Database=C:\path\to\file.xls','SELECT * FROM [Sheet1$]') 

另一種方式是在Excel中打開XLS和導出爲CSV文件。然後使用BULK INSERT

相關問題