站内搜索 

BOM无法导出表格--Excel接口错误无法导出表格的解决办法

问题1:Could not load file or assembly 'office。。。

方法1: 凯元4.4增加了个 【凯元工具备用版(WPS版)】 ,使用第三方接口,没有安装Excel的电脑也可以导出表格,可以卸载重装此版本

方法2: 可能丢失了安装文件,卸载重装凯元工具,注意到控制面板程序列表中右键卸载,然后再重装,凯元两个版本分别用了不同版本的Excel类库,一个版本不行再试一下另一个版本。

方法3: 如果有加密软件检查凯元工具的安装目录下面的文件是否被加密了,文件上是否有加密图标,有的话解密,导出Excel窗口里有一个选项【有加密软件】选中这个选项。

方法4: 如果凯元重装了还是不行就可能是电脑Excel接口异常,查看下面的修复Excel接口方法,重装Excel,激活Excel,无法激活换WPS表格软件

 

问题2:导出到某个模板时提示:无效索引。。。

问题3:错误:未将对象引用设置到对象的实例。。。

可能的原因1: 如果公司电脑有加密软件,可能会把Excel模板加密成乱码,点击导出窗口右上角的【打开模板路径】查看文件夹里面的Excel模板,看看有没有加密图标, 如果有的话联系公司的管理员解密, 或者选中凯元里的【有加密软件】试一下。

可能的原因2: 判断是不是某个模板的问题,点击窗口左上角的【导出所有行】这个不需要任何模板,如果能正常导出就说明电脑Excel接口没问题,可能是模板的问题, 或者凯元的默认模板每个都导出试试, 如果都出错说明是电脑Excel安装问题,看下面的问题3,如果个别出错说明某个模板有问题。

可能的原因3: Excel没有激活,未激活的Office可能禁止了接口功能,也就是说自己新建表格可以用但是别的程序调用表格接口就无效,激活您的Office后重试,如果无法激活就换WPS使用,或者卸载重装凯元工具备用版(WPS版)。

可能的原因4: 检查某个模板是不是编辑锁定状态, 打开Excel模板看看能不能编辑,只读状态下不行,人工编辑不了插件也不能往里写数据。

方法5: 如果没有被加密,且是个别模板的问题,打开有问题的模板(默认扩展名为.xls这是Excel2000以下版本的格式),另存为.xlsx格式试试,也就是新版本Excel格式,然后把老版本的模板删掉,用新版本模板导出试试。 点此下载Excel2000以上格式的.xlsx格式的模板解压替换掉老的模板。

方法6: 凯元有3个版本(.net4.0版、.net4.0备用版、.net3.5版),分别使用了Excel14接口、第三方接口、Excel12接口),一个版本不行可以卸载重装另一个版本的凯元工具试一下。

 

问题4:Excel接口错误,大致意思:无法将类型为Microsoft.Office.Interop.Excel.ApplicationClass...的接口转换为。。。{000208D5.....00000046}的接口....

 

涉及到的工具: BOM工具、导出部件清单、导出其它Excel表格

出错原因: 系统Excel的接口没有安装好,或者没有启动Excel接口服务,或者注册表中Excel相关的项损坏了,或者WPS劫持了Excel注册表中的接口指向,Excel只能独立打开用不能为其它软件使用,这是一个普遍错误各种用到excel的软件都有可能出错。

错误发生概率:5%左右

验证: 如果导出所有行可以,导出到某个模板不行就说明Excel接口没问题,可能是系统安装了加密软件引起的,检查Excel模板是否被加密了。


不想修复Excel可使用凯元工具的替代方案:

a. 导出到网页,然后用Excel打开(在Excel打开文件菜单中选择.htm网页格式,可带截图)

b. 导出到文本文件然后用Excel打开(只有表格,不能带截图)

c. 选中BOM一列多个单元格复制到Excel中(VIP用户可右键多单元格复制)


修复办法:(一条不行再试另一条)

1.凯元两个版本使用了不同版本的Excel接口,一个版本不行换装另一个版本试试

2.重装Excel,重新安装时请选择“选择应用程序的高级自定义”,选择“.Net可编程性支持”下选择菜单的“从本机运行全部程序”。也有很少的用户重装后还是不行,那就只能换高版本office,卸载时要到控制面板中卸载不要用360等软件卸载

3.到服务中启动Excel接口服务: 点此查看启动Excel接口服务的方法

4. 用命令重新注册Excel接口:操作方法查看百度经验

5.如果没有Office安装包,加百度盘好友【tk3681167】分享。


(下面的操作比较复杂,建议选读)

5.如果重装高版本Excel还是不行(发生概率1%)有用户清理注册表残留项再安装就OK了(安装Excel时不要被杀毒软件拦截写入注册表操作)

打开注册表搜索Office(Excel)相关的项,关键字 Microsoft.Office.Interop.Excel,删掉,下面只是其中一部分:

HKEY_CLASSES_ROOT\TypeLib\{00020813-0000-0000-C000-000000000046}    (1.5=2003,1.6=2007,1.7=2010,1.8=2013)
HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{00020812-0000-0000-C000-000000000046}   (15代表Office2013,14代表Office2010,12.0代表Office2007,11代表Office2003) 

6. 装过WPS的请注意,wps和office有冲突,需要用wps自带的卸载软件进行卸载,用户用360卸载WPS卸不干净再用Excel就出现这种异常,有用户重新下载WPS,安装,并用WPS的卸载程序卸载,然后一切正常了。

7. 上面方法都试过不行,那只能去问微软了


总结如下:

.net调用office组件进行Excel、Word、ppt的一些操作,需要做一下操作:

1. 正确全面的安装office

2. DCOM配置权限(64位系统要添加32位组件【mmc -32】)

(1) 开始-运行-dcomcnfg,启动组件服务。

(2) 找到Microsoft Excel Application、Microsoft Office PowerPoint 幻灯片、Microsoft Office Word 97 - 2003 文档,-属性 -安全-中所有配置都选择“自定义”,添加用户(SYSTEM、INTERACTIVE、Everyone、Administrators、Administrator、IIS-IUSRS()、Network Services、Network 、USERS),添加“启动和激活权限”、“访问权限”,并赋予本地启动和激活;-标识,交互式用户(不能选择启动用户,会无法结束进程)

作者:CS逍遥剑仙 来源:CSDN 原文:https://blog.csdn.net/CSXIAOYAOJIANXIAN/article/details/68954744


这个错误各种用到Excel接口的程序都可能发生,参考下面文章:

http://www.cnblogs.com/gisoracle/p/5440846.html

https://zhidao.baidu.com/question/873425258484621012.html

http://www.cnblogs.com/lhjhl/archive/2008/09/04/1283943.html