FAQ > Web开发 > 报告生成(Excel/word)

tsl在web服务方式下处理office失败解决方案    

  • 问题描述:
      通过apache、IIS 以web服务方式执行tsl脚本处理word、excel时失效,具体表现如:
      1、生成word报告模版时 执行WordTemplate失败;
      2、处理excel时,获取当前excel对象后,再引用对象属性时失败。
    问题原因:
      以服务方式运行apache、IIS时,操作系统对word、excel等com组件做了访问权限限制。

    注:Apache服务以命令方式启动httpd.exe,不存在以上问题。


  • 解决方法:增加Com组件的交互式访问权限
    环境:Windows Server 2008 X86, office 2010+ X86
    操作:
    1、命令行运行”dcomcnfg”或者从“控制面板-管理工具-组件服务”进入,选择“组件服务-计算机-我的电脑-DCOM配置”,找到“Microsoft Excel Application”和“Microsoft Office Word 97-2003”


    2、右键“属性-标识”,选择“交互式用户(I)”确定,如下图


    注意事项:
      1、64位系统下安装32位office时,可通过命令“mmc -32”进入控制台,选择“文件-添加/删除管理单元”,选择并添加“组件服务”,之后操作同上。
      2、IIS下 配置时需要保证路径访问授权测试通过,如下图:



    如授权不通过,参考下图设置路径访问授权: