2014-01-23 146 views
0

導入數據使用MS VS 2013和SQL Server 2012的從Excel工作表

我寫一個控制檯應用程序從Excel的一些數據複製到一個SQL表。我不是很遠。下面的代碼打開文件,然後2-3秒後,我得到一個錯誤。

有誤差 -

Additional information: Unable to cast COM object of type 'System.__ComObject' to interface type 'Microsoft.Office.Interop.Excel.Worksheet'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{000208D8-0000-0000-C000-000000000046}' failed due to the following error: No such interface supported (Exception from HRESULT: 0x80004002 (E_NOINTERFACE)).

Imports Microsoft.Office.Interop.Excel 
Imports Microsoft.Office.Interop 
Imports System.Data.SqlClient 
Imports System.IO 

Module Module1 

    Sub Main() 

     Dim xlApp As Application 
     Dim xlWorkBookSrc As Excel.Workbook 
     Dim xlWorkBookDest As Excel.Workbook 
     Dim xlWorkSheetSrc As Excel.Worksheet 
     Dim xlWorkSheetDest As Excel.Worksheet 
     xlApp = New Excel.Application 
     xlApp.Visible = True 

     xlApp.DisplayAlerts = False 


     xlWorkSheetSrc = xlApp.Workbooks.Open("Folder path") 
     xlWorkSheetSrc = xlWorkBookSrc.Worksheets("Spectrometer") 


    End Sub 

End Module 

當文件打開OK,我不知道爲什麼我那麼得到的錯誤。 Excel工作表是一個.xls,但我也嘗試使用.xlsx並得到相同的結果。

任何想法

回答

2

這條線:

xlWorkSheetSrc = xlApp.Workbooks.Open("Folder path") 

..是失敗,因爲其定義xlWorkSheetSrc作爲工作表和xlApp.Workbooks.Open返回一個工作簿,這是不工作表。將其更改爲:

xlWorkBookSrc = xlApp.Workbooks.Open("Folder path") 

..並且應該可以。

+0

乾杯像魅力一樣工作 – Silentbob

0

參考實例Importing Exporting Excel Files

給出本例中VB.NET和我測試,它在我的電腦工作的罰款。

我建議使用OleDB(ADO.NET)導入Excel數據並將該數據導出到SQL服務器(使用SqlConnection(ADO.NET))。

Excel To SQL Server