在项目中通过该Microsoft.Office.Interop.Word组件,进行模板数据书签替换然后导出word文档。
出现了检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005这个错误。妈蛋,微软的东西就是一堆权限问题,本来想用第三方组件的,而且处理这种问题比较棘手,建议大家以后用第三方组件实现导出word,说多了都是泪。
在网上找到了解决方法,不过我都觉得还是不靠谱,各种权限开放,网站很危险的啊喂!好了,下面贴出解决方案。
方法一(推荐):
检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 8000401a
1.运行dcomcnfg.exe打开组件服务,
2.依次展开"组件服务"->"计算机"->"我的电脑"->"DCOM配置"->"Microsoft Word 文档"
3.右键打开“属性”对话框,点击“标识”选项卡,选择"下列用户",把管理员的用户及密码正确填写进去...
4.点击"安全"选项卡,依次把"启动和激活权限","访问权限","配置权限",都选择为自定义,然后依次点击它们的编辑,把everyone添加进去,并加入所有的权限
5.请设置web.config中的<identity impersonate="true" userName="Administrator" password="abc123"/>帐号和密码,否则会提示检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005。
例如
<system.web>
<identity impersonate="true" userName="Administrator" password="abc123"/>
</system.web>
方法二:
1.控制面板-》管理工具-》组件服务-》计算机-》我的电脑-》DCom配置-》找到Microsoft Word文档
之后
2.右键“属性”打开此应用程序的属性对话框。
3.单击"安全"选项卡,分别在"启动和激活权限"和"访问权限"组中选中"自定义",然后 自定义->编辑->添加ASP.NET账户和IUSER_计算机名或Network Service用户
* 这些帐户仅在计算机上安装有 IIS 的情况下才存在。
确保允许每个用户访问,然后单击确定。
4.单击确定关闭 DCOMCNFG