C#操作word的方法示例

发布时间 - 2026-01-11 01:06:26    点击率:

本文实例讲述了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 missing, ref missing, ref missing, ref missing, ref missing,
      ref missing, ref missing, ref missing, ref isVisible, ref missing,
      ref missing, ref missing, 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, ref missing);
      }
      catch
      {}
      doc = null;
    }
    if (app != null)
    {
      try
      {
        app.Quit(ref missing, 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, ref readOnly,
      ref missing, ref missing, ref missing, ref missing, ref missing,
      ref missing, ref missing, ref missing, ref isVisible, ref missing,
      ref missing, ref missing, 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, ref missing);
      }
      catch
      {}
      doc = null;
    }
    if (app != null)
    {
      try
      {
        app.Quit(ref missing, ref missing, ref missing);
      }
      catch
      {}
      app = null;
    }
    GC.Collect();
    GC.WaitForPendingFinalizers();
  }
}
#endregion

更多关于C#相关内容感兴趣的读者可查看本站专题:《C#操作Excel技巧总结》、《C#程序设计之线程使用技巧总结》、《C#中XML文件操作技巧汇总》、《C#常见控件用法教程》、《WinForm控件用法总结》、《C#数据结构与算法教程》、《C#数组操作技巧总结》及《C#面向对象程序设计入门教程》

希望本文所述对大家C#程序设计有所帮助。


# C#  # 操作  # word  # C# WORD操作实现代码  # C#实现通过模板自动创建Word文档的方法  # C# Word 类库的深入理解  # asp.net(c#)下读取word文档的方法小结  # 比较全的一个C#操作word文档示例  # 使用c#在word文档中创建表格的方法详解  # c#开发word批量转pdf源码分享  # C#采用OpenXml实现给word文档添加文字  # C#采用OpenXml给word里面插入图片  # 使用C#实现在word中插入页眉页脚的方法  # C#实现合并多个word文档的方法  # C#获取Word文档中所有表格的实现代码分享  # 程序设计  # 操作技巧  # 相关内容  # 但在  # 感兴趣  # 数据结构  # 给大家  # 更多关于  # 所述  # 使用技巧  # 面向对象  # 为空  # 不包含  # 换行  # 文档  # 就成了  # 讲述了  # object  # doc  # System 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  如何快速搭建高效WAP手机网站?  公司门户网站制作流程,华为官网怎么做?  如何在万网开始建站?分步指南解析  VIVO手机上del键无效OnKeyListener不响应的原因及解决方法  高端网站建设与定制开发一站式解决方案 中企动力  如何用AI帮你把自己的生活经历写成一个有趣的故事?  BootStrap整体框架之基础布局组件  Laravel如何实现模型的全局作用域?(Global Scope示例)  zabbix利用python脚本发送报警邮件的方法  jquery插件bootstrapValidator表单验证详解  个人网站制作流程图片大全,个人网站如何注销?  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】  油猴 教程,油猴搜脚本为什么会网页无法显示?  JavaScript如何实现音频处理_Web Audio API如何工作?  html5源代码发行怎么设置权限_访问权限控制方法与实践【指南】  Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用  做企业网站制作流程,企业网站制作基本流程有哪些?  如何用AI一键生成爆款短视频文案?小红书AI文案写作指令【教程】  Python自然语言搜索引擎项目教程_倒排索引查询优化案例  如何在云主机上快速搭建多站点网站?  如何用美橙互联一键搭建多站合一网站?  如何在VPS电脑上快速搭建网站?  微信小程序 HTTPS报错整理常见问题及解决方案  网站制作大概多少钱一个,做一个平台网站大概多少钱?  香港服务器部署网站为何提示未备案?  如何快速搭建高效服务器建站系统?  大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?  Laravel如何生成URL和重定向?(路由助手函数)  夸克浏览器网页跳转延迟怎么办 夸克浏览器跳转优化  网站建设保证美观性,需要考虑的几点问题!  HTML 中如何正确使用模板变量为元素的 name 属性赋值  PHP怎么接收前端传的文件路径_处理文件路径参数接收方法【汇总】  Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用  如何用PHP快速搭建CMS系统?  Linux网络带宽限制_tc配置实践解析【教程】  如何快速搭建高效简练网站?  rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted  Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程  Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践  Android GridView 滑动条设置一直显示状态(推荐)  nodejs redis 发布订阅机制封装实现方法及实例代码  如何在IIS7上新建站点并设置安全权限?  中山网站制作网页,中山新生登记系统登记流程?  Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】  lovemo网页版地址 lovemo官网手机登录  如何基于云服务器快速搭建个人网站?  如何用wdcp快速搭建高效网站?  深圳防火门网站制作公司,深圳中天明防火门怎么编码?