如何用C#提取Word,Excel等文件的文本

 我来答
Office文档开发
2018-02-11 · 专注文档开发的码字君
Office文档开发
采纳数:47 获赞数:66

向TA提问 私信TA
展开全部

下面分别使用Spire.Doc和Spire.XLS来提取的文本。

提取Word文本

(一)提取文段中的文本:

            //初始化文档并加载一个实例
            Document document = new Document();
            document.LoadFromFile(@"C:\Users\Administrator\Desktop\2017诺贝尔奖.docx");
            //初始化一个StringBuilder类新实例
            StringBuilder sb = new StringBuilder();
            //遍历section及段落,将段落中的文本保存到StringBuilder实例
            foreach (Section section in document.Sections)
            {
                foreach (Paragraph paragraph in section.Paragraphs)
                {
                    sb.AppendLine(paragraph.Text);
                }
            }
            //将提取的文档保存为文本格式
            File.WriteAllText("Extract.txt", sb.ToString());

(二)提取文本框中的文本

            //初始化文档并加载一个实例
            Document document = new Document();
            document.LoadFromFile(@"C:\Users\Administrator\Desktop\2017诺贝尔奖.docx");

            //诊断文档是否含有文本框
            if (document.TextBoxes.Count > 0)
            {
                //初始化一个StreamWriter类并保存提取的文档
                using (StreamWriter sw = File.CreateText("result.txt"))
                {
                    //从文本框提取文档
                    foreach (Section section in document.Sections)
                    {
                        foreach (Paragraph p in section.Paragraphs)
                        {
                            foreach (DocumentObject obj in p.ChildObjects)
                            {
                                if (obj.DocumentObjectType == DocumentObjectType.TextBox)
                                {
                                    TextBox textbox = obj as TextBox;
                                    foreach (DocumentObject objt in textbox.ChildObjects)
                                    {
                                        if (objt.DocumentObjectType == DocumentObjectType.Paragraph)
                                        {
                                            sw.Write((objt as Paragraph).Text);
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }

提取Excel文本

            //创建一个工作簿并加载Excel工作表
            Workbook workbook = new Workbook();
            workbook.LoadFromFile(@"..\ExceltoTxt.xls");
            //获取首个工作表,并保存为txt格式
            Worksheet sheet = workbook.Worksheets[0];
            sheet.SaveToFile("ExceltoTxt.txt", " ", Encoding.UTF8);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
深圳市励拓软件有限公司
2017-05-21 · 互联网+时代高效组织信息化平台
深圳市励拓软件有限公司
汇讯WiseUC企业即时通讯软件是一款以组织内沟通交流为基础,即时通讯为核心,融合办公协同、IT系统集成,帮助企业降低运营成本、提升组织效率的企业级沟通协同平台。
向TA提问
展开全部
如何将excel表里的数据提取到word文档里的解决方法如下:1、复制法。即将原来的数据直接复制后,在word中进行粘贴,这样数据就直接导入到word文档中了。
2、邮件合并法。在word中启用邮件合并,按向导的过程分别制作好需要插入的需要,数据源,对应关系,最后执行合并就可以了。
3、程序法。在word中插入合并域(如果是有规律的表格,可以不用这一步),然后编写vba程序,从excel文件中读取数据,然后写入到word中指定的位置。
上面三个方法中,方法1简单快捷,但是每次都需要操作,如果数据不是连续的块,需要复制粘贴多次,相对来说麻烦一点。方法2,一次设置可以多次使用,但不够灵活。方法3方便可以多次重复使用,但需要有一定的编程基础,可以根据工作的实际选择一个最适合的完成这个工作。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式