百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

使用.net 更新word目录(二)(.net framework怎么更新)

cac55 2024-10-11 11:03 23 浏览 0 评论

使用.net 更新word目录(一)

采用Office组件(服务器必须安装Office)

采用Office组件调用实现更新目录的话,有一些弊端:

①服务器必须安装office

②调用com组件实际上相当于在服务器上打开word进行操作,当并发量比较大时,word的处理速度会比较慢,并发量越大处理越慢,可以想象,当电脑打开50个word时,操作肯定会卡,这是一个道理;暂时还未发现有效的解决方法。

(实例化一个com实例,处理多个文件倒是可以加快速度,但是要看实际的应用场景是否可以多个文件一起处理;我现在遇到的场景是必须同步一个个文件进行处理,纠结中,,,,)

服务器安装office并需要配置环境:

(参考:https://www.cnblogs.com/5426z/articles/4865312.html)

①首先服务器需要安装:office软件,我安装的是office2010版本,安装后在服务器端不用激活也可以使用。

②组件权限设置:

在运行栏中输入命令:dcomcnfg,打开组件服务管理窗口,但是却发现找不到Microsoft Word程序,这主要是64位系统的问题,word是32位的组件,所以在正常的系统组件服务里是看不到的,可以通过在运行里面输入comexp.msc -32 来打开32位的组件服务,在里就能看到Microsoft Word组件了。

③IIS权限设置:将IIS中应用程序池运行用户改为LocalSystem

必须要先配置组件权限,仅仅将IIS中应用程序池运行用户改为LocalSystem是不行的:不会报80070005组件错误,但是读取的word对象会为null

DCOM 的配置过程。

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

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

①将 “身份标识” 选项卡中的用户设为 “交互式用户” 。

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

③用户添加 EveryOne、 IIS User、NetWork Service,并将所有操作权限都勾选(建议)

.net开发环境搭建:

Vs开发com组件引用

(我这里本机安装的是office2010,根据各自电脑安装的情况选择即可)

这样就可以使用了:(参考代码)

//实例化COM
                    Microsoft.Office.Interop.Word.ApplicationClass wordApp = new Microsoft.Office.Interop.Word.ApplicationClass();
                    object fileobj = filePath;
                    object nullobj = System.Reflection.Missing.Value;
                    //打开指定文件(不同版本的COM参数个数有差异,一般而言除第一个外都用nullobj就行了)
                    Microsoft.Office.Interop.Word.Document doc = wordApp.Documents.Open(ref fileobj, ref nullobj, ref nullobj,
                    ref nullobj, ref nullobj, ref nullobj,
                    ref nullobj, ref nullobj, ref nullobj,
                    ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj
                    );
//更新目录
                    doc.TablesOfContents[1].Update();
                    //LogHelper.Info(string.Format("操作3.1"));
                    doc.Save();//保存
 
                    //获取Word页码
                    Microsoft.Office.Interop.Word.WdStatistic PagesCountStat = Microsoft.Office.Interop.Word.WdStatistic.wdStatisticPages;
                    pageCount = doc.ComputeStatistics(PagesCountStat, ref nullobj);
                    //关闭文件
                    doc.Close(ref nullobj, ref nullobj, ref nullobj);
                    //关闭COM
                    wordApp.Quit(ref nullobj, ref nullobj, ref nullobj);

引用完成之后,如果直接用vs进行跑是没有问题的,但是放在iis上面会提示:

检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005
再回到上面检查权限配置是否正确。(一开始我也是报这种错误)

方案三、收费方案(SautinSoft等)

暂时未考虑,收费方案基本都是按开发人员,按部署的项目数来进行收费,代价会比较大。

相关推荐

如何屏蔽色情网站?_怎么能屏蔽网站

一、基础防御:全网DNS劫持阻断1.修改全网DNS服务器推荐DNS:安全DNS:CleanBrowsing(成人内容过滤):185.228.168.168/185.228.169.168Open...

容器、Pod、虚拟机与宿主机网络通信全解:看这一篇就够了

在日常开发与部署过程中,很多人一开始都会有这样的疑惑:容器之间是怎么通信的?容器怎么访问宿主机?宿主机又如何访问容器?Kubernetes中Pod的网络和Docker容器一样吗?容器跨机器是...

Win11专业版找不到共享打印机的问题

有很多深度官网的用户,都是在办公室上班的。而上班就需要使用打印机,但更新win11系统后,却出现同一个办公室里面的打印机都找不到的问题,这该如何处理呢?其实,可能是由于我们并没有打开共享打印机而造成的...

常用电脑快捷键大全,摆脱鼠标依赖,建议收藏

Ctrl+C复制Ctrl+X剪切Ctrl+V粘贴Ctrl+Z撤销Ctrl+Y重做Ctrl+B加粗Ctrl+A全选所有文件Ctrl+S保存Ctrl+N新建Ctrl+O打开Ctrl+E...

Win11实现自动追剧Jellyfin硬解,免NAS复杂操作

大家好,欢迎来到思赞数码。本期将详细介绍如何通过安装和配置Sonarr、Radarr、Prowlarr、qBittorrent和Jellyfin,打造一套自动化的影视管理系统。很多人认为,要实现自动追...

微软Win11安卓子系统WSA 2308.40000.3.0更新推送下载

IT之家9月21日消息,微软官方博客今日宣布,已面向所有WindowsInsider用户推送了Windows11安卓子系统的2308.40000.3.0版本更新。本次更新和之前...

路由器总掉线 一个命令就能猜出八九分

明明网络强度满格或有线图标正常,但视频卡成PPT、网页刷不开、游戏动不了,闲心这些问题很多小伙伴都碰到过。每次都要开关路由、宽带/光猫、插拔网线……一通忙。有没有啥办法能快速确定故障到底在哪儿,方便处...

windows电脑如何修改hosts文件?_windows怎么修改hosts

先来简单说下电脑host的作用hosts文件的作用:hosts文件是一个用于储存计算机网络中各节点信息的计算机文件;作用是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中...

win10广告弹窗ShellExperienceHost.exe

win10右下角老是弹出广告弹窗,排查为以下程序引起,但是这个是系统菜单的程序不能动:C:\Windows\SystemApps\ShellExperienceHost_cw5n1h2txyewy\S...

Win10 Mobile预览版10512/10166越狱解锁部署已被黑客攻破

看起来统一的WindowsPhone和Windows越加吸引人们的关注,特别是黑客们的好奇心。XDA论坛宣称,在Win10Mobile预览版10512/10166上,已取得越狱/解锁部署突破,比如可...

6款冷门小众软件,都是宝藏,建议收藏

真的很不错(。-ω-)zzzBearhttps://bear.app/cn/Bear是一个漂亮,灵活的Markdown的写作工具。它一样只支持苹果家的全平台。它一出现就惊艳四方,就被AppSto...

如何让不符合条件的设备升级Windows 11

如果你是最近(6月24日之后)加入WindowsInsider项目并且你的设备并不符合升级条件,那么当你在尝试升级Windows11的时候可能会看到以下错误:你的PC不符合Wi...

windows host文件怎么恢复?局域网访问全靠这些!

windowshost文件怎么恢复?windowshost文件是常用网址域名及其相应IP地址建立一个关联文件,通过这个host文件配置域名和IP的映射关系,以提高域名解析的速度,方便局域网用户使用...

Mac Hosts管理工具---SwitchHosts

switchhosts!formac是一款帮助用户快速切换hosts文件的工具,switchhosts!formac能够帮助你快速方便的打造个人专用的网络环境,支持本地和在线两种方式,并且支持...

「浅谈趣说网络知识」 第十二弹 老而不死的Hosts,它还很有用

【浅谈趣说网络知识】第十二弹老而不死的Hosts,它还很有用什么时候才觉得自己真的老了,不是35岁以上的数字,不是头上的点点白发,而是不知觉中的怀旧。风口上的IT界讲的就是"长江后浪推前浪...

取消回复欢迎 发表评论: