首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从excel工作表导入数据

从excel工作表导入数据
EN

Stack Overflow用户
提问于 2014-01-23 12:06:53
回答 2查看 647关注 0票数 0

使用MS VS 2013和SQL server 2012

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

错误是-

其他信息:无法将'System.__ComObject‘类型的COM对象转换为接口类型'Microsoft.Office.Interop.Excel.Worksheet’。此操作失败,因为对IID‘{000208D8-0000-C000-000000000046}的接口的COM组件的QueryInterface调用失败,原因是以下错误:不支持此类接口( HRESULT: 0x80004002 (E_NOINTERFACE)例外)。

代码语言:javascript
复制
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并得到了相同的结果。

任何想法

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-01-23 12:18:34

这一行:

代码语言:javascript
复制
xlWorkSheetSrc = xlApp.Workbooks.Open("Folder path")

..is失败,因为它将xlWorkSheetSrc定义为工作表,而xlApp.Workbooks.Open返回的是工作簿,它不是工作表。改为:

代码语言:javascript
复制
xlWorkBookSrc = xlApp.Workbooks.Open("Folder path")

..and,应该没问题。

票数 2
EN

Stack Overflow用户

发布于 2014-01-23 12:17:27

参考导入导出Excel文件中给出的示例

这个例子在VB.NET和我进行了测试,它在我的PC上运行得很好。

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

Excel To Server

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21307679

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档