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下 配置时需要保证路径访问授权测试通过,如下图:
如授权不通过,参考下图设置路径访问授权: