[英]Importing data from excel sheet
使用MS VS 2013和SQL Server 2012
我正在編寫一個控制台應用程序,將excel中的一些數據復制到SQL表中。 我沒有走得太遠。 下面的代碼打開文件然后2-3秒后我收到錯誤。
有錯誤 -
附加信息:無法將“System .__ ComObject”類型的COM對象強制轉換為接口類型“Microsoft.Office.Interop.Excel.Worksheet”。 此操作失敗,因為由於以下錯誤,對IID為“{000208D8-0000-0000-C000-000000000046}”的接口的COM組件的QueryInterface調用失敗:不支持此類接口(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
由於文件打開正常,我不知道為什么然后我得到錯誤。 excel表是一個.xls但我也嘗試使用.xlsx並獲得相同的結果。
有任何想法嗎
這一行:
xlWorkSheetSrc = xlApp.Workbooks.Open("Folder path")
..失敗,因為它將xlWorkSheetSrc定義為工作表,xlApp.Workbooks.Open返回一個工作簿,而不是工作表。 將其更改為:
xlWorkBookSrc = xlApp.Workbooks.Open("Folder path")
..它應該沒問題。
請參閱導入導出Excel文件中給出的示例
這個例子在VB.NET和我測試過,它在我的電腦上工作正常。
我建議使用OleDB(ADO.NET)導入Excel數據並將該數據導出到SQL服務器(使用SqlConnection(ADO.NET))。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.