使用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组件上的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")
..应该没问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句