C#操作 word代码

推荐:http://www.cnblogs.com/roucheng/p/3521864.html

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

#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

推荐:http://www.cnblogs.com/roucheng/p/3521864.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/120361.html原文链接:https://javaforall.net

(0)
上一篇 2021年12月26日 下午11:00
下一篇 2021年12月26日 下午11:00


相关推荐

  • Python与大模型实战:3个月从零基础到RAG与LangChain项目开发

    Python与大模型实战:3个月从零基础到RAG与LangChain项目开发

    2026年3月12日
    2
  • java培训达内学费[通俗易懂]

    java培训达内学费[通俗易懂]达内教育Java培训费用是多少钱?哪个机构好?根据目前的行情来看,Java培训费用大概在1-3万左右,每个人根据个人不同的基础决定学习的课程,有些人基础差点的,学习的是基础课程,费用相对低一点。除了关心Java培训费用是多少钱我们还会关心学习的周期,具体要学习多久呢?一般来说Java培训的时间是4个月左右,具体看个人学习情况,如果学习学的好,那么就4个月就能毕业了,如果是觉得学习完了后自己还是不太了解,那么可以留级,免费在学习一遍,为自己去面试在铺垫一下。Java培训哪个机构好?达内达内的特色是..

    2022年7月8日
    47
  • jupyter notebook的安装与使用

    jupyter notebook的安装与使用最近由于项目需要,开始学习python,然后发现一个非常有用的python交互式编辑器,非常容易上手而且非常有用和实在,本博文是对学习jupyternotebook的一个汇总和记录,与大家一起分享!下面的内容是针对ubuntu系统的,当然,jupyternotebook在windows也是支持的。

    2022年6月8日
    27
  • 多层感知机详解(如果增加多层感知机的隐藏层层数)

    Principlesoftrainingmulti-layerneuralnetworkusingbackpropagation  Theprojectdescribesteachingprocessofmulti-layerneuralnetworkemploying backpropagation algorithm.Toillustrateth…

    2022年4月11日
    129
  • 3dmax建模前景_3d建模师未来发展前景

    3dmax建模前景_3d建模师未来发展前景简单来说,没前途。本来不想说这个话题的,但是想了好久,觉得还是来说两句。我本人是从事建筑表现效果图行业的,主要用的软件就是3DMAX+VRay+PS。正式从业到现在已经三年了,半路出家。3DMAX这个软件深入很多个行业,广告、影视、工业设计、建筑设计、三维动画、多媒体制作、游戏、以及工程可视化等。但其实没有哪个行业是只用这一款软件的,在不少行业3DMAX也逐步被更新的软件替代。MAX强大在它是一个平台,所以他的上限很高,比一般的软件都要高很多,但是下限也很高,不是那么容易上手。.

    2025年10月28日
    3
  • 如何执行JavaScript文件

    如何执行JavaScript文件一 JavaScript 脚本语言的特性 nbsp nbsp nbsp nbsp JavaScript 脚本语言是一种面向浏览器的网页脚本编程语言 脚本语言有以下几个特性 1 在客户端执行 完全在用户的计算机上运行 无须经过服务器 2 面向对象 具有内置对象 也可以直接操作浏览器对象 3 动态变化 可以对用户的输入作出反应 也可以直接对用户输出 4 简单易用 JavaScript 脚本语言虽然简单 但初学者也能快速掌

    2026年3月18日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号