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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Particle_filter 粒子滤波器 的学习笔记

    Particle_filter 粒子滤波器 的学习笔记粒子滤波是一种基于蒙特卡洛模拟的非线性滤波方法,其核心思想是用随机采样的粒子表达概率密度分布。粒子滤波的三个重要步骤为:1)粒子采样,从建议分布中抽取一组粒子;2)粒子加权,根据观测概率分布,重要

    2022年8月6日
    1
  • 使用httpclient实现http接口调用实例[通俗易懂]

    使用httpclient实现http接口调用实例[通俗易懂]使用httpclient实现http接口调用实例假设服务接口如下:接口地址:http://192.168.0.1/service/sendsms请求方式:post需要传递参数:c={“uid”:”10000″,”title”:”testatitle”,”content”:”thisisatest”}参数内容为json格式输出:{result:0,cod

    2022年5月24日
    28
  • 电脑黑屏只有鼠标箭头,任务管理器打不开,F8什么的都不管用「建议收藏」

    电脑黑屏只有鼠标箭头,任务管理器打不开,F8什么的都不管用「建议收藏」1.故障描述自从电脑装了虚拟机之后,明显感觉电脑变卡,吃饭的时候处于待机状态,回来就看见屏幕黑屏了,只剩一个鼠标箭头2.自己尝试过的方法1)ctrl+alt+del,没卵用,打不开任务管理器2)拔掉鼠标,键盘,电源线,还是不行,最多拔掉鼠标,箭头不见了而已,依然黑屏3)长按关机键,强行关机,没用,还是黑屏,重启时按F8没用,老子F…

    2022年6月18日
    110
  • drp错误集锦—“Cannot return from outside a function or method”

    drp错误集锦—“Cannot return from outside a function or method”

    2022年2月6日
    71
  • SSM整合,非常详细的SSM整合[通俗易懂]

    SSM整合,非常详细的SSM整合[通俗易懂]对于ssm框架网上有很多,这里只是自己为大家提供的一个ssm整合框架参考分享,这个前提是基于maven的管理工具写的,如果觉得写得不好,博主这边已经把代码上传了:不妨可以参考代码再理解学习:https://download.csdn.net/download/qq_30764991/11012764如果觉得文章不错,对你有帮助,请作者喝杯咖啡,谢谢!如果对您有帮助,请多多支持.多少都…

    2022年4月28日
    42
  • Windows套接字CAsyncSocket类的使用「建议收藏」

    Windows套接字CAsyncSocket类的使用「建议收藏」TCP编程的服务器端一般步骤是:1、创建一个CAsyncSocket或CSocket类或其子类对象A,用于监听客户端连接,然后通过Create函数设定端口号和协议类型为SOCK_STREAM。2、开启监听,用函数Listen();3、接收客户端上来的连接,用函数Accept(&B);并且把连接连接的对象存到B中,以便通信使用。4、当客户端发送来消息时,会触发OnReceive函数…

    2022年8月18日
    3

发表回复

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

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