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

从excel工作表导入数据
EN

Stack Overflow用户
提问于 2014-01-23 04: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
代码运行次数:0
运行
AI代码解释
复制
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 04:18:34

这一行:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
xlWorkSheetSrc = xlApp.Workbooks.Open("Folder path")

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
xlWorkBookSrc = xlApp.Workbooks.Open("Folder path")

..and,应该没问题。

票数 2
EN

Stack Overflow用户

发布于 2014-01-23 04: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

复制
相关文章
克隆GitHub上项目的非Master分支
项目现在Github上有两个分支,分别是 master 和 gh-pages,其中master没什么东西,代码都在gh-pages分支上,而我现在想要克隆gh-pages分支上的东西,咋办呢?
用户8705059
2021/06/08
6800
WordPress通过分类ID获取分类名称与链接
在Wordpress主题开发的过程中,尤其是CMS主题分类的布局,通过后台选项选择分类,前台通过调用分类的ID来获取分类的名称和链接,这时我们将使用到get_cat_name()和get_category_link()两个函数,反过来也可以通过get_cat_ID()函数来获取分类ID。
.T.
2022/02/22
2.2K0
phpcms调取当前栏目的描述及当前栏目的名称
在我们填写了栏目描述,怎么调用出来。 调用文章位置导航 {catpos($catid)} 调用当前栏目链接 {$CATEGORYS[$catid][url]} 调用当前栏目名称 {$CATEGORYS[$catid][catname]} 调用当前栏目的描述调用出来 {$CATEGORYS[$catid][description]}
李维亮
2021/07/09
3.3K0
windows api学习笔记-遍历系统进程,获取进程名称和ID(进程快照)
#include <windows.h>//系统会自动连接到指定的库文件lib #include <tlhelp32.h>//声明快照函数的头文件 #include <stdio.h>//std io 标准输入输出接口 #include <iostream> using namespace std; int main() { PROCESSENTRY32 pe32; pe32.dwSize = sizeof(pe32); HANDLE hProcessSnap = ::CreateToolhel
liulun
2022/05/09
2.2K0
解读小程序的新能力---获取群ID和群名称等群信息
5月8日微信小程序有公布了一个新功能:获取群ID和群名称等群信息,官方有一句话是这么介绍它的用处的: 现在,通过最新的接口能力,开发者可以通过群ID判断用户是否来自同一个微信群,同一个群内的用户之间可
花叔
2018/04/18
3.7K0
解读小程序的新能力---获取群ID和群名称等群信息
根据 PID 获取 K8S Pod名称 - 反之 POD名称 获取 PID
随着 Kubernetes 越来越火爆,运维人员排查问题难度越来越大。比如我们收到监控报警,某台 Kubernetes Node 节点负载高。通过 top 或者 pidstat 命令获取 Pid,问题来了,这个 Pid 对应那个 Kubernetes Pod 呢?
YP小站
2020/07/21
3.4K0
django raw_id_fields 显示名称而不是id(raw_id_fields: How to show a name instead of id)
为了防止页面加载的时候加载所有的Foreignkey到内存,django提供了一个raw_id_fields,该tupple内的数据将只展示id。虽然内存不加载了,但是基本没法看。不知道是个什么东西。
obaby
2023/02/24
1.9K0
getIdentifier获取资源id
首先我想到的是反射,但是经过实验发现提示报错no emoty constructor。
提莫队长
2019/02/21
4.1K0
C++遍历文件夹从而获取指定格式或名称的文件
  本文介绍基于C++语言,遍历文件夹中的全部文件,并从中获取指定类型的文件的方法。
疯狂学习GIS
2023/06/26
9060
C++遍历文件夹从而获取指定格式或名称的文件
小程序开放微信群ID API,可获取群名称 提供个性化服务
微信方面宣布,小程序向开发者开放了群ID的接口能力。简单地说,就是当你把小程序分享在群聊中,被点击后开发者可获取群ID和群名称,也方便更好地针对群场景提供个性化服务。 群用户间可以更好地协作 大家都知
BestSDK
2018/02/28
2.9K0
小程序开放微信群ID API,可获取群名称 提供个性化服务
Python获取网卡信息(名称、MAC、
    “人生苦短,我用Python”。Python的高效有一部分是跟它丰富的模块分不开的。Python有很多第三方模块可以帮助我们完成一些事情,减少开发时间。
py3study
2020/01/03
4.7K0
Python获取网卡信息(名称、MAC、
mybatis获取update的id
平常我门都是更新数据,用更新的条件再查询一次,得到更新的记录。这样我门就进行了两次数据库操作,链接了两次数据库。增加了接口的处理事件,因为链接数据库是很耗时的操作。 其实可以通过 mybatis 的 selectKey 标签来解决这个问题。  selectKey 这个标签大家基本上都用过,比如在插入数据的时候,返回插入数据的纪录。如: <selectKey resultType="int" order="AFTER" keyProperty="id"> SELECT
似水的流年
2018/03/28
3.8K0
mybatis获取update的id
平常我门都是更新数据,用更新的条件再查询一次,得到更新的记录。这样我门就进行了两次数据库操作,链接了两次数据库。增加了接口的处理事件,因为链接数据库是很耗时的操作。
似水的流年
2018/01/25
9.3K0
mybatis获取update的id
平常我门都是更新数据,用更新的条件再查询一次,得到更新的记录。这样我门就进行了两次数据库操作,链接了两次数据库。增加了接口的处理事件,因为链接数据库是很耗时的操作。
似水的流年
2019/12/06
3.4K0
sqlite 获取最后插入id
SQLite数据库中的表均有一个特殊的rowid字段,它是一个不重复的64位有符号整数,默认起始值为1。rowid别名为oid或_rowid_,但在创建表的SQL声明语句中只能使用rowid作为关键字。如果在创建表的时候设置了类型为integer的具有自动增长性的主键,那么这时的主键相当于是rowid的别名。
随心助手
2020/06/09
6.2K0
C++ rtti vs 宏 - 如何优雅的获取类型T的name或ID
如何获取一个类型T的name或者唯一ID, 对于这个问题, 最常规的方式应该是借助C++的rtti了, 比如如ponder中所使用的方式:
fangfang
2021/10/29
2.3K0
C++ 代码 获取匹配的字符串数组或替换
C++ 代码 获取匹配的字符串数组或替换 #include <regex> #include <string> // 使用类 std::regex_iterator 来进行多次搜索. static std::string _strs = "... ..." ; std::regex _regex("<img [^>]+>"); std::cout << "sregex_iterator ====" << std::endl; auto words_begin =
用户1503405
2021/10/06
1.6K0
Java 反射获取成员变量名称
使用 Sql2o 方法读取数据库的时候,发现表名类似,但是有一些差别,如果使用 select * 方式查询,需要针对对象声明多个内容,但是实际上用的都是一样的,所以想通过获取成员变量的名称来拼接成 select 后面的内容,经过尝试,发现可以用下面的方法获取:
zucchiniy
2019/10/30
3K0
巧用vue组件实现人员id及名称的转换
我们开发时,后台很多时候都只存储一个用户Id,如创建人,修改人等,但我们前台显示时,又需要将Id转成人员名称显示。   一般很多时候在后台通过这条Id找到人名,但实际很多情况都要这么转换的,后台处理很麻烦,有没有比较通用性及简单的办法呢!    有的,我们可以考虑Vue的组件,传入一个用户Id,组件返回人名,以后就不需要再后台转换了。而且这个组件可以在页面代码上各处使用,这样比较方便! Vue组件代码如下:
星痕
2018/09/12
2.1K0
获取实体类@注解信息_jquery获取class名称
实体类打上@JsonSerialize注解 有一些表的主键是雪花生成的比较长,返回前端会出现精度损失,转成字符串返回就可以了 @JsonSerialize(using = ToStringSerializer.class)
全栈程序员站长
2022/11/16
2.2K0

相似问题

Windows2008 R2文件服务器上的DFS复制和磁盘配额

10

在Windows2008上安装node.js

10

ransomware如何删除文件服务器上的阴影副本?

20

作为文件服务器的dcpromo /forceremoval

10

在文件服务器上搜索文件

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文