C#调用FreeSpire.Office读取word数据的基本用法

本文介绍了如何在FreeSpire.Office中操作Word文档,主要关注Document类的属性和函数,如PageCount、Sections、Paragraphs等。作者试图读取导航标题,通过遍历段落样式来识别。后续还将探讨其他Word操作库如Aspose.Words和NPOI。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  FreeSpire.Office是Spire.Office的免费版本,后者支持全面、复杂的office文件操作功能,包括文件格式转换、文档操作、文档打印等,详细介绍见下图及参考文献1。本文学习FreeSpire.Office的基本用法并用其获取word文档的基本信息。
在这里插入图片描述
  新建Winform项目,在Nuget包管理器中搜索并安装FreeSpire.Office,直接安装FreeSpire.Doc也可以。
在这里插入图片描述
  主要使用Spire.Doc.Document类读取、创建、操作word文档,由于Document类属性多、函数多、结构复杂、对象嵌套关系不少,本文仅介绍其中的少部分内容。
  Document类支持从word文档、HTML、Rtf、文件流等多源形式读取数据,提供LoadFromFile、LoadText、LoadHTML、LoadRtf等多种形式的加载函数,本文中使用LoadFromFile加载word文档。
  本文学习Document类结构的过程中主要看到及使用的属性及函数如下图所示,下面逐一进行概述:

在这里插入图片描述
  Document类
  1)Background属性保存文档的背景设置信息;
  2)Bookmarks属性保存文档的书签信息;
  3)ChildObjects属性保存直属文档的对象信息,可以是章节、文本、图片等各种类型的对象;
  4)Comments属性保存文档的批注信息;
  5)PageCount属性保存文档的总页数;
  6)Sections属性保存文档的所有节信息,在word文档中插入分节符就会增加Section对象;
  7)Styles属性保存文档所有可用的样式信息,如正文、标题1、标题2等样式;
  8)Watermark属性保存文档的水印设置信息。

  Section类
  1)ChildObjects属性保存直属当前节的对象信息;
  2)Columns属性保存当前节的分栏信息;
  3)HeadersFooters属性保存当前节的页眉页脚信息;
  4)PageSetup属性保存当前节的页面设置信息;
  5)Paragraphs属性保存当前节的段落信息;
  6)Tables属性保存当前节的表格信息。

  Paragraph类,Spire.Office中的段落属于通用段落概念,段落中既包含文字,也能包含表格、图片等数据,这些数据都会保存在段落的ChildObjects属性中,并通过每个DocumentObject对象实例的DocumentObjectType属性区分具体的对象类型。
  1)CharCount属性保存当前段落的字符数(不含空格);
  2)CharCountIncludeSpace属性保存当前段落的字符数(含空格);
  3)ChildObjects属性保存当前段落直属的对象集合;
  4)GetStyle()函数获取当前段落使用的样式信息,可以通过样式名称判断当前段落是正文、标题或其它形式的数据;
  5)Text属性保存当前段落的文本内容;
  6)WordCount属性保存当前段落的字数。

  本文最初想读取word文档的导航标题结构,不过暂时没有看到Document类中是否有属性或函数可以直接获取标题信息,根据参考文献4中的说明,可以通过遍历所有段落的样式名称,如果为标题1、标题2或其它约定的样式名称,则认为该段落为标题,这种方式的代码实现也不复杂,如下所示:

using Document doc = new Document();
doc.LoadFromFile(txtFilePath.Text);

txtResult.Text = $"总页数:{doc.PageCount}";

for(int i=0;i<doc.Sections.Count;i++)
{
    txtResult.Text += $"\r\n第{i + 1}节:";
    
    for(int j = 0; j < doc.Sections[i].Paragraphs.Count;j++) 
    {
        txtResult.Text += $"\r\n\t第{j + 1}段:样式名{doc.Sections[i].Paragraphs[j].GetStyle().Name}";
    }
}

  除了继续学习FreeSpire.Office的基本用法,后续还会学习其它word操作模块(如Aspose.Words、NPOI等),看是否有方便读取word文档标题或导航的方式。

参考文献:
[1]https://www.e-iceblue.com/Tutorials.html
[2]https://blog.csdn.net/lajigao/article/details/81236311
[3]ttps://www.cnblogs.com/Fooo/p/15601912.html
[4]https://blog.csdn.net/weixin_42727550/article/details/115915561

Free Spire.Doc 是一款免费的专门对 Word 文档进行操作的 .NET类库。适用于商业或个人用途。这款控件的主要功能在于帮助开发人员轻松快捷高效地创建、编辑、转换和打印 Microsoft Word 文档。作为一款独立的 Word .NET 控件,能执行多种 Microsoft Word 文档处理任务的 .NET API。支持 Word97-2003,Word2007,Word2010 以及 Word2013。能在 Word 97/2003/2007/2010/2013 和 XML、RTF、TXT、XPS、EPUB、EMF、HTML 等格式文件之间进行双向转换,还能将 Word 文件高质量地转换为 PDF 文件格式。 主要功能如下: 1. 高质量的文档转换。Free Spire.Doc for .NET 能帮助用户将 Word 文件保存在流中,也可以保存为 Web response,还支持将 Word 文件与 XML、RTF、EMF、 TXT、XPS、EPUB、HTML 等格式文件之间的双向转换。同时,它还支持将 Word 文件转换为 PDF 文件,HTML 文件转换为图像文件。 2. 多样化的 Word 文档功能。支持动态创建一个全新的 Word 文档,并支持几乎所有的 Word 文档元素,它们主要包括页面、节、页眉、页脚、脚注、尾注、段落、项目符号和编号、表格、 文本、域、超链接、书签、注释、图片、样式、背景设置、打印功能、文档设置和文档保护。同时,也支持形状、文本框、图片、OLE 对象和内容控件。 3. 对已有的 Word 文档进行操作处理。支持搜索和替换、设置对齐方式、分页、分节、填充域、文档合并、复制、打印以及邮件合并等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值