Sql 从excel工作表导入数据

Sql 从excel工作表导入数据,sql,vb.net,excel,data-import,Sql,Vb.net,Excel,Data Import,使用MS VS 2013和SQL server 2012 我正在编写一个控制台应用程序,将excel中的一些数据复制到SQL表中。我没走多远。下面的代码打开文件,然后在2-3秒后我得到一个错误 有一个错误是—— 其他信息:无法强制转换类型为的COM对象 “System.\uuuu ComObject”到接口类型 “Microsoft.Office.Interop.Excel.Worksheet”。此操作失败 因为接口的COM组件上的QueryInterface调用 由于以下原因,IID“{000

使用MS VS 2013和SQL server 2012

我正在编写一个控制台应用程序,将excel中的一些数据复制到SQL表中。我没走多远。下面的代码打开文件,然后在2-3秒后我得到一个错误

有一个错误是——

其他信息:无法强制转换类型为的COM对象 “System.\uuuu ComObject”到接口类型 “Microsoft.Office.Interop.Excel.Worksheet”。此操作失败 因为接口的COM组件上的QueryInterface调用 由于以下原因,IID“{000208D8-0000-0000-C000-0000000000 46}”失败: 以下错误:不支持此类接口(HRESULT的异常: 0x80004002(E_NOINTERFACE))

当文件打开ok时,我不确定为什么会出现错误。excel工作表是一个.xls,但我也尝试了一个.xlsx,得到了相同的结果

任何想法参见中给出的示例

这个例子在VB.NET和我测试,它的工作在我的电脑很好

我建议使用OleDB(ADO.NET)导入excel数据并将该数据导出到SQL server(使用SqlConnection(ADO.NET))

这一行:

xlWorkSheetSrc = xlApp.Workbooks.Open("Folder path")
..失败,因为它将xlWorkSheetSrc定义为工作表,而xlApp.WORKSTORKS.Open返回的工作簿不是工作表。将其更改为:

xlWorkBookSrc = xlApp.Workbooks.Open("Folder path")
…应该没问题

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