服务器端IIS中部署带Office组件程序

Posted 風雲

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了服务器端IIS中部署带Office组件程序相关的知识,希望对你有一定的参考价值。

开发的程序需要用到Office组件(Word、Excel等)的时候,往往在开发环境中运行正常,但是部署到服务器上就出问题。

1)首先保证开发环境引用的dll正确

.net 4.0以上版本,添加引用Microsoft.Office.Interop.Word.dll

引用完成后,开发环境已经可以正常运行了。

 

2)如果直接将程序发布,部署到服务器IIS上的话,用到office相关功能时,系统就会报错

(检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005)

解决这个问题,首先要确保服务器上按照了Office 办公软件(完全安装)。

 

3)运行“dcomcnfg”,打开 DCOM 配置程序。(或者 开始→设置→控制面版→管理工具→组件服务→计算机→我的电脑→DCOM配置)

 找到Office组件,将 “身份标识” 选项卡中的用户设为 “交互式用户” 。

设置选中 “安全性” 选项卡中的 “使用自定义配置权限”,点击 “编辑”。

用户添加 EveryOne ,手动添加

这样权限就配置好了,重新打开网页,相关功能都可以正常使用了。

 

对 Word 进行编程,实际上就是通过 .Net Framework 去调用 Word 的 COM 组件,所有要在 Web 环境下调用 COM 组件的时候,都需要对其进行相应的配置。
很多朋友都反映在 Windows 环境下调试正常的程序,一拿到 Web 环境中就出错,实际上就是因为缺少了这一步。

另外:可以考虑使用NPOI第三方组件,同样可以操作 .docx文件(doc文件目前好像无法处理),.xls / .xlsx文件;使用NPOI就不需要再在服务器上安装Office软件,再配置权限什么了。后续,整理好了,会再写篇关于NPOI的文章。

以上是关于服务器端IIS中部署带Office组件程序的主要内容,如果未能解决你的问题,请参考以下文章

无法将 reactjs 和 .net 4.8 后端部署到 iis - dist 文件夹丢失

微信小程序基于第三方websocket的服务器端部署

在后端使用 Microsoft Office Word

Microsoft Exchange Server 2010与Office 365混合部署——本地部署ADFS3.0服务器

Azure 发布管道 IIS 部署

java使用jacob客户端需要安装office,服务端需要安装吗?如果需要,服务器是Linux该如何解决?