C#操作word的方法示例
发布时间:2020-12-15 06:05:51 所属栏目:百科 来源:网络整理
导读:本篇章节讲解C#操作word的方法。供大家参考研究具体如下: #region 读取word/// summary/// 读取word所有文字内容(不包含表格)/// /summary/// returnsword中的字符内容(纯文本)/returnspublic string ReadAllFromWord(){ Word.ApplicationClass
本篇章节讲解C#操作word的方法。分享给大家供大家参考,具体如下: #region 读取word /// <summary> /// 读取word所有文字内容(不包含表格) /// </summary> /// <returns>word中的字符内容(纯文本)</returns> public string ReadAllFromWord() { Word.ApplicationClass app = null; Word.Document doc = null; object missing = System.Reflection.Missing.Value; object FileName = m_FilePath;//@"E:/学习试验项目/ReadFromWordDoc/test.doc"; object readOnly = true; object isVisible = false; try { app = new Word.ApplicationClass(); doc = app.Documents.Open(ref FileName,ref missing,ref readOnly,ref isVisible,ref missing); string textString = ""; //读取全部内容 何问起 hovertree.com textString = doc.Content.Text.Trim(); // int ParCount = this.getParCount(doc);//段数 // for (int i = 1 ; i <= ParCount ; i++) // { // textString = textString + doc.Paragraphs[i].Range.Text.Trim();//doc.Content.Text.Trim();// // } textString = textString.Replace("/a",""); //替换空串为空。(word中/a代表空串,但在C#中,代表响铃 晕~~)否则显示控制台程序时会响 textString = textString.Replace("/r","/n"); //替换回车为回车换行 return textString; } catch(Exception ex) { throw ex; } finally { if (doc != null) { try { doc.Close(ref missing,ref missing); } catch {} doc = null; } if (app != null) { try { app.Quit(ref missing,ref missing); } catch {} app = null; } GC.Collect(); GC.WaitForPendingFinalizers(); } } #endregion #region 追加写入word /// <summary> /// 追加写入word /// </summary> /// <param name="InsertText">需要写入的字符串</param> public void WriteToWord(string InsertText) { Word.ApplicationClass app = null; Word.Document doc = null; object missing = System.Reflection.Missing.Value; object FileName = m_FilePath;//@"E:/学习试验项目/ReadFromWordDoc/test.doc"; object readOnly = false; object isVisible = false; try { app = new Word.ApplicationClass(); doc = app.Documents.Open(ref FileName,ref missing); //激活word文档 doc.Activate(); //追加到最后一段(段落是按照 /n 来作为标志的) doc.Paragraphs.Last.Range.Text = InsertText + "/n";//加个结束符(增加一段),否则再次插入的时候就成了替换. //保存 doc.Save(); } catch(Exception ex) { throw ex; } finally { if (doc != null) { try { doc.Close(ref missing,ref missing); } catch {} app = null; } GC.Collect(); GC.WaitForPendingFinalizers(); } } #endregion 更多关于C#相关内容感兴趣的读者可查看本站专题:《C#操作Excel技巧总结》、《C#程序设计之线程使用技巧总结》、《C#中XML文件操作技巧汇总》、《C#常见控件用法教程》、《WinForm控件用法总结》、《C#数据结构与算法教程》、《C#数组操作技巧总结》及《C#面向对象程序设计入门教程》 希望本文所述对大家C#程序设计有所帮助。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 查看,统计、正则表达式――Linux基本命令(9)
- Select2插件 简化 远程加载下拉选项
- ios – 使用元类型值构造类类型为“ClassName”的对象必须使
- c# – Task.Delay()和新任务之间的区别(()=> Thread.Sleep(
- SQLite数据库简介
- ruby-on-rails – 在rails控制器中获取Carrierwave上传的文
- cocos2dx lua学习笔记 <一> quick 3.5把自定义C++类绑定到
- c# – 使用wsDualHttpBinding超时通过Internet连接到WCF服务
- [学习笔记]XML解析之JAXP
- 关于本人拙著《Cocos2d-x 3.x实战:卡牌手游开发指南》源码