C#读取Word和PPT的问题

问题描述

最近在做为文件做索引的过程中需要读取Word和PPT类型的文件,开始是通过引用相关Office的DLL文件来实现读取文件内容,不过隐患是一旦操作异常终止,(比如说突然把浏览器关掉)而此时Office的实例还没有来得及关闭,捕捉异常的代码也因为程序结束而无法执行。这样的话进程中就会残留WINWORD或是POWERPNT进程,请问各位大侠有没有好的解决方法?我很想找开源的Office读取工具,不过貌似没有好用的。

解决方案

解决方案二:
服务器的函数不会因为客户端IE关闭而中断执行的。估计还是你程序的问题。要catch异常,并且在Finially里面关闭wordapplicaton。注意不止是关闭文档还要关闭applicatonWord.Application=newApplication()...OtherCode....doc.SaveAs2000(...);//NowusetheQuitmethodtocleanupobjectsaveChanges=true;app.Quit(refsaveChanges,refoptional,refoptional);
解决方案三:
谢了,我回去测试一下。
解决方案四:
操作word前释放资源和关闭WORD等进程。
解决方案五:
谢谢提醒,我还想请教一下,如果在操作WORD(PPT)之前确实检验到WINWORD或POWERPNT进程的存在,如何安全的释放他们?(因为此时只能得到线程Process的实例,没法通过WORD实例的Quit方法正常关闭线程),请大侠明示,是否有别的方法能通过检验到的WINWORD线程得到一个WORDAPP的实例再关闭,或是通过别的方法安全释放这些线程。谢谢!
解决方案六:
谢谢提醒,我还想请教一下,如果在操作WORD(PPT)之前确实检验到WINWORD或POWERPNT进程的存在,如何安全的释放他们?(因为此时只能得到线程Process的实例,没法通过WORD实例的Quit方法正常关闭线程),请大侠明示,是否有别的方法能通过检验到的WINWORD线程得到一个WORDAPP的实例再关闭,或是还存在通过别的方法安全释放这些线程。谢谢!
解决方案七:
顶顶,有没有高手帮着解答一下4楼的问题
解决方案八:
引用4楼lx20030303的回复:

谢谢提醒,我还想请教一下,如果在操作WORD(PPT)之前确实检验到WINWORD或POWERPNT进程的存在,如何安全的释放他们?(因为此时只能得到线程Process的实例,没法通过WORD实例的Quit方法正常关闭线程),请大侠明示,是否有别的方法能通过检验到的WINWORD线程得到一个WORDAPP的实例再关闭,或是通过别的方法安全释放这些线程。谢谢!

下面是查找当前打开的WORD的实例并关闭的代码环境是VS2008,Word11PowerPoint的代码你改一下Microsoft.Office.Interop.Word.ApplicationClasswordApp=null;try{//获取当前Word的实例wordApp=System.Runtime.InteropServices.Marshal.GetActiveObject("Word.Application")asMicrosoft.Office.Interop.Word.ApplicationClass;}catch{}if(wordApp!=null){//当前有打开的Word,关闭objectmissing=System.Reflection.Missing.Value;objectsavechanges=false;//不保存更改wordApp.Quit(refsavechanges,refmissing,refmissing);}

解决方案九:
用同样的方法获取PowerPoint的实例有点麻烦没有搞成功你参考一下http://support.microsoft.com/kb/222783/zh-cn
解决方案十:
谢谢帮忙,我再去研究PPT实例的获取方法,还有个问题,就是执行了PPT实例的QUIT()方法后,POWERPNT进程还是存在,只是CPU占有率一直为0,不过我还是想要彻底关闭PPT的进程,不知道怎么改进?除了Quit()方法,我也尝试了网上说的释放.COM引用和主动调用垃圾收集,貌似进程还是关不掉。有什么好办法?谢谢指教。
解决方案十一:
好像office组件是有这样的问题,我也碰到过

时间: 2024-09-17 03:57:09

C#读取Word和PPT的问题的相关文章

php通过baihui网API实现读取word文档并展示_php技巧

项目中遇到一个小问题,想实现php 如何读取word文档,并将其内容原样显示 可以 使用API 可以看看baihui.com 的写写应用 的API 申请一个 APPKEY 就能使用,你可以看看 ... 对免费版本有限制 比如 excel 支持,可以参考我这个 appkey是我申请的,可以使用吧 ... 保存成本地的一个html文件 打开后直接使用 word 的类似 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN&q

java操作word-java生成和读取二维码,读取word,

问题描述 java生成和读取二维码,读取word, 毕业设计老师让扫二维码,还有让读取word文档的东西到网页,之后将网页的显示的内容 写入ppt,求大神指教,求所需jar包和源代码. 解决方案 读取word用poi库 二维码用zxing库 具体都自己google下.

npoi-跪求NPOI.dll读取word文件(.net)

问题描述 跪求NPOI.dll读取word文件(.net) 从官网下载NPOI2.0版本没有XWPFDocument方法. 解决方案 进微软官网查找软件下载更新,重启系统配置 解决方案二: NPOI2.0 只可以操作WORD2007和2010 不支持2003格式.

使用C#读取Word表格数据

最近在做一个项目,使用到了读取Word表格中内容的技术.在网上找了许多资料都不尽人意,最后整理了并修改了一些网上的代码,取其精华去其糟粕,现将代码同各位园子里的朋友们分享. 读取Word表格数据的方法 1//将读取Word表格封装与方法中. 2public string ReadWord(string fileName, int rowIndex, int colIndex) 3{ 4 ApplicationClass cls = null; 5 Document doc = null; 6 7

C#读取word文档实例浅析

C#读取word文档是如何实现的呢?我们可以使用FileStream对象来把文本文 件里面的信息读取出来,但是对于word文档来说就不能使用这样的方法了. 这种情况下C#读取word文档的实现我们需要使用叫做" Microsoft Word 9.0 object library"COM组件来实现,它为我们提供了所有用来读取 word文档的对象和方法. 这里我们主要用Word.ApplicationClass下的方法来处理word应用程序.实现 的思路是先在内存中把这个word文档打开,

php通过baihui网API实现读取word文档并展示

  这篇文章主要介绍了php通过baihui网API实现读取word文档并展示的相关资料,需要的朋友可以参考下 项目中遇到一个小问题,想实现php 如何读取word文档,并将其内容原样显示可以 使用API 可以看看baihui.com 的写写应用 的API申请一个 APPKEY 就能使用,你可以看看 ... 对免费版本有限制 比如 excel 支持,可以参考我这个 appkey是我申请的,可以使用吧 ... 保存成本地的一个html文件 打开后直接使用 word 的类似 ? 1 2 3 4 5

python读取word文档的方法

  本文实例讲述了python读取word文档的方法.分享给大家供大家参考.具体如下: 首先下载安装win32com ? 1 2 3 4 5 6 from win32com import client as wc word = wc.Dispatch('Word.Application') doc = word.Documents.Open('c:/test') doc.SaveAs('c:/test.text', 2) doc.Close() word.Quit() 这种方式产生的text文档

vb 读取word文档中的数据和图片

问题描述 vb 读取word文档中的数据和图片 http://bbs.csdn.net/topics/390528303?page=1 我遇到了和该帖同样的问题: 需要将一个doc文档中 按特定字符分割后提取出内容 内容不只有字符还有图 比如: /xxxxxxxxxxx[图片1]xxxx/ /xxxxxxxxxxxxxxxx[图片2]xxxxxxxxxxxxxxxx/xxxxxxx[图片3]/ 请大家给点建议 尽量详细 解决方案 建议通过ole连接word,然后你直接用VBA函数来实现,查找指定

谢谢大家-Android如何读取word和pdf文档

问题描述 Android如何读取word和pdf文档 大家好! 我是个Android新手,最近有个项目,其中有个需求就是在Android应用程序中查看word和pdf格式的文档(PS:不是用intent调用第三方软件打开文档哦~),可惜Android没有直接显示word和pdf文档的view.于是本菜鸟上网查了好久好久好久哇= =. 对于word,很多人说是用poi解析之后,再复写成html,最后用WebView显示. 那么,这个就是最普遍最简单的方法了么? 我感到很麻烦= = 还有别的方法么?