首页 新闻 会员 周边

检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件时失败 80040154 没有注册类

0
悬赏园豆:100 [已解决问题] 解决于 2023-07-06 15:53

引用 Microsoft.Office.Interop.Word了,在创建
Microsoft.Office.Interop.Word.Application appWord = new Microsoft.Office.Interop.Word.Application
{
// WORD程序不可见
Visible = false,

            // 不弹出警告框
            DisplayAlerts = WdAlertLevel.wdAlertsNone
        };

报错 本地运行可以,部署到服务器之后不行,服务器上已安装wps
System.Runtime.InteropServices.COMException (0x80040154): Retrieving the COM class factory for component with CLSID
{000209FF-0000-0000-C000-000000000046} failed due to the following error: 80040154 没有注册类 (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)),

ll...ll的主页 ll...ll | 菜鸟二级 | 园豆:233
提问于:2023-07-05 15:50
< >
分享
最佳答案
0

https://www.cnblogs.com/oBehavior/p/16898721.html
尽量不要用office组件,服务器还得装对应版本的office,考虑用NPOI吧。

收获园豆:100
0Behavior | 初学一级 |园豆:197 | 2023-07-05 16:07

word操作比较复杂,npoi有些东西不支持,综合考虑之后选用的这个

ll...ll | 园豆:233 (菜鸟二级) | 2023-07-05 17:01

非得用office组件的话就得配置一大堆权限,还得保证office组件服务一直运行,之前我一个项目就是用的office组件,当时一个服务停了,怎么都无法启动,每次都得重启服务器。
有什么不支持的你可以说一下看看,有些事不一定非得让NPOI去做,可以提前画好word模板,例如复杂的样式,特别的排版等等。

0Behavior | 园豆:197 (初学一级) | 2023-07-06 08:31

@0Behavior: 已经用其他方式写了,这个确实很坑,用的docx

ll...ll | 园豆:233 (菜鸟二级) | 2023-07-06 15:53
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册