c#如何读取带格式的word文档内容

背景

最近接到个需求,需要把word文档原汁原味的复制出来,在对文档内容进行解析。

开始采用的方式是打开文档,直接读取。经过测试发现内容都是无格式的。这显然不是想要的。

后面转变思路一想,既然人工打开文档,全选复制,在黏贴到其他文档是带格式的,那么完全可以使用代码把人工的事情做一遍。

代码实现

1、用richTextBox打开带格式的word文档

Microsoft.Office.Interop.Word.ApplicationClass app = new Microsoft.Office.Interop.Word.ApplicationClass();
            Microsoft.Office.Interop.Word.Document doc = null;
            object missing = System.Reflection.Missing.Value;
            object File = fileName;
            object readOnly = false;
            object isVisible = true;
            try
            {
                doc = app.Documents.Open(ref File, 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);

2、全选其中的内容并保存的剪切板中

doc.ActiveWindow.Selection.WholeStory();//全选word文档中的数据
                doc.ActiveWindow.Selection.Copy();//复制数据到剪切板

3、最后在richTextBox中粘贴数据,并关闭文档

richTextBox1.Paste();//richTextBox粘贴数据
                SetText(null);
                //richTextBox1.Text = doc.Content.Text;//显示无格式数据
            }
            finally
            {
                if (doc != null)
                {
                    doc.Close(ref missing, ref missing, ref missing);
                    doc = null;
                }

                if (app != null)
                {
                    app.Quit(ref missing, ref missing, ref missing);
                    app = null;
                }
            }

总结

用richTextBox打开带格式的word文档。先打开word文档,全选其中的内容并保存的剪切板中,最后在richTextBox中粘贴数据,并关闭文档。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: c是一个字母,也是26个英文字母中的第三个字母。它也可以代表一些其他的含义和概念。 在数学中,c常常代表着复数、光速和圆周率等。复数是由实数和虚数组成的数,可以表示在平面上的点。光速是指光在真空中的传播速度,它被定义为每秒钟约30万公里。圆周率是一个无理数,表示圆的周长与直径的比值,通常用π来表示。 在计算机编程中,c是一种编程语言的名称。C语言是一种高级程序设计语言,它是许多其他编程语言的基础,包括C++和Java。C语言具有简洁、高效和强大的特点,被广泛应用于系统级开发、嵌入式系统和科学计算等领域。 此外,c还可以表示温度单位摄氏度。摄氏度是一种用于测量温度的单位,以冰点和沸点为基准。在摄氏度下,纯水的冰点为0度,沸点为100度。 总的来说,c作为一个字母和符号,具有多重含义和用途。它代表了数学、计算机编程和温度等不同领域中的概念和符号。 ### 回答2: c是英文字母表中的第三个字母。c的发音是类似于/k/音的音素。c也是拼写很多英文单词时经常使用的字母。在英语中,c通常与其他字母组合成不同的音素,例如与a组合成ca音素,与o组合成co音素等。同时,c也可以独立使用,例如在单词car和cat中。在国际音标中,c的对应符号是/ki:/。除了在英语中使用,c也在其他很多语言中使用,例如法语、西班牙语等。在计算机科学中,c也是一种编程语言的名称,它是一种通用的高级编程语言,广泛应用于软件开发和系统编程。总而言之,c是一个普遍使用的字母,既有字母表中的位置意义,也有发音和拼写的含义。 ### 回答3: c是拉丁字母表中的第三个字母,也是英文字母表中的第三个字母。在英语中,c的发音是/k/,它可以用来组成各种单词。 在数学中,c通常用来表示常数,特别是用来表示圆的周长或直径。π是常被用来和c结合起来计算圆的面积和周长的数学常数。 在化学中,c代表着碳元素的化学符号。碳是化学元素周期表中的第六个元素,它是生命的基础,组成着所有有机物。碳还能形成多种化合物,包括与氧、氢、氮等元素的化合物,构成了许多生物分子。 在计算机科学中,c是一种编程语言。C语言是一种通用编程语言,广泛应用于软件开发和系统编程。 此外,c也可以代表其他词语或缩写,如代表速度的光速(c=299,792,458m/s),代表摄氏温度单位,代表华氏温度的换算公式等等。 综上所述,c作为一个字母或符号,在不同的领域中扮演着不同的角色和意义。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值