zoukankan      html  css  js  c++  java
  • 无法将类型为 excel.applicationclass 的 com 强制转换为接口类型 的解决方法。

    今天碰到客户的电脑在导出EXCEL的时候提示,无法将类型为 excel.applicationclass 的 com 强制转换为接口类型 excel._application 的问题

    最后用下面的方法解决,最主要的就是这句话: “C:Program FilesMicrosoft OfficeOFFICE11excel.exe” /regserver 

    客户电脑的故障是原先导出正常,后来突然不能导出了,事后估计是因为安装了WPS的原因,导致相应的组件冲突。

    中间过程是卸载WPS,然后重装OFFICE2003,问题都无法解决,最后就上面的命令重新注册EXCEL组件后,问题解决。

     

    这个问题,正好我也碰到过,而且貌似很多人也碰到过这个问题.

    其实这个主要就是 服务器上没有安装office,或者安装了但是没有相关权限.给你一个参考的解决办法.

    一. 如果采用Office 组件进行Excel导出, 服务器上必须安装对应版本的Office(如你开发使用的Office2003,则服务器也需要安装Office2003,当然,如果仅仅是导出Excel 则只需安装Office Excel), 没有安装Office是不能够进行导出的.
    二.  对于出现类似于 “错误代码: 检索 COM 类工厂中 CLSID 为{00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005。” 错误,其原因基本上是由于权限不够导致的,一般的解决步骤如下:(以下解决方案适用于 WinXp,2003,2008, 包括64位系统, 我所采用的Office 版本为2003)
    1:在”开始”->”运行”中输入dcomcnfg.exe启动”组件服务”
    2:依次双击”组件服务”->”计算机”->”我的电脑”->”DCOM配置”
    3:在”DCOM配置”中找到”Microsoft Excel 应用程序”,在它上面点击右键,然后点击”属性”,弹出”Microsoft Excel 应
    用程序属性”对话框
    特别注意: 在win2008 64位系统中, 默认是看不到 “Microsoft Excel 应用程序” 这一项的,需要先在 “开始”->”运行”
    里输入 “mmc -32″ (不要引号) 回车,在弹出的窗口中,
    a.在第一个菜单(File)中选择 “添加/删除组件(Add/Remove Snap)”
    b.添加”组件服务(Component Services)
    c.然后可以在 组件服务(Component Services)下找到 “Microsoft Excel 应用程序” 项
    d.此后的操作同 32位操作系统
    4:点击”标识”标签,选择”交互式用户”
    5:点击”安全”标签,在”启动和激活权限”上点击”自定义”,然后点击对应的”编辑”按钮,在弹出的”安全性”对话框中填加
    一个”NETWORK SERVICE”用户(注意要选择本计算机名),并给它赋予”本地启动”和”本地激活”权限.
    6:依然是”安全”标签,在”访问权限”上点击”自定义”,然后点击”编辑”,在弹出的”安全性”对话框中也填加一个”NETWORK
    SERVICE”用户,然后赋予”本地访问”权限.
    这样,我们便配置好了相应的Excel的DCOM权限.
    注意:这是在WIN2003上配置的,在2000,xp上,是配置ASPNET用户
    一般通过以上步骤就能解决问题,当然如果您的问题还没解决,可以参考以下资料:
    1) 查看你的Web.config 中是否有 <identity impersonate=”true”/> 这一项,如果有,请删除
    这段话的目的是为每一个请求进行客户端模拟,按照提示信息中的解释,由于没有设置Username,
    所以当前执行的用户是IUSR_MACHINENAME,而该用户是没有操作Excel组件的权限
    如果您需要添加指定用户的权限,你可以
    <identity impersonate=”true”  userName=”登录名”  password=”密码 “/>
    2)如果交互式用户设置后出现错误8000401a,可取消交互式用户,指定为administratr,可暂时解决此问题。
    注意:采用以上设置后,打开Excel可能会出现“无法使用对象引用或链接”,并且不能进行单元格粘贴。
    原因不明,取消设置后即可消失。
    3)如果同时存在多个Office版本,请确认下默认打开Excel的版本是哪个,如果有误则可以采用如下方法重新注册
    开始 -> 运行 -> 输入excel2003(2007类似)的安装路径,
    例如 “C:Program FilesMicrosoft OfficeOFFICE11excel.exe” /regserver
    注意/符号前面有一个空格,其中”C:Program FilesMicrosoft OfficeOFFICE11excel.exe”
    是excel2003的安装程序的路径,参数regserver表示注册的意思
    4)如果出现”不能设置类PageSetup的Orientation属性”的错误,检查下服务器上是否安装了打印机,如果没有
    请安装一个(可以是虚拟打印机,本地)
    5)对于64位系统如果还有问题,尝试下
    在 C:WindowsSysWOW64configsystemprofile下创建Desktop文件夹
    然后提升应用池权限试试.

  • 相关阅读:
    在IE和Firfox获取keycode
    using global variable in android extends application
    using Broadcast Receivers to listen outgoing call in android note
    help me!virtual keyboard issue
    using iscroll.js and iscroll jquery plugin in android webview to scroll div and ajax load data.
    javascript:jquery.history.js使用方法
    【CSS核心概念】弹性盒子布局
    【Canvas学习笔记】基础篇(二)
    【JS核心概念】数据类型以及判断方法
    【问题记录】ElementUI上传组件使用beforeupload钩子校验失败时的问题处理
  • 原文地址:https://www.cnblogs.com/robinli/p/3504304.html
Copyright © 2011-2022 走看看