跳至正文

使用 C# 从 OneNote 中的表格中提取文本

OneNote 中的表格有助于组织信息,从会议记录和数据日志到快速比较表。在某些情况下,您需要以编程方式从 OneNote 中的表格中提取文本。也许您想分析表内容,将它们移动到数据库中,或者将它们转换为另一种格式。

在本指南中,我们将向您展示如何使用 C# 从 OneNote 中的表格中提取文本。您将学习如何使用简单、易于理解的示例从整个表格、单行甚至单个单元格中获取文本。

让我们开始吧。

为什么要从 OneNote 中的表格中提取文本?

开发人员经常需要从 OneNote 表格中提取数据以实现自动化、报告或与其他系统集成。以下是一些现实世界的例子:

将会议摘要导出为结构化报告。
从共享笔记中读取表格数据进行分析。
将 OneNote 表格与外部系统或仪表板同步。

Aspose.Note for .NET 允许您通过代码以快速、一致和完全自动化的方式处理所有这些,而不是手动复制数据。

从 OneNote 表格中提取文本的 C# 库

Aspose.Note for .NET 是一个强大的 API,允许开发人员在 .NET 应用程序中创建、读取、编辑和转换 OneNote 文件。它支持丰富的对象模型来访问页面、文本、图像、轮廓和表格等元素。对于表格文本提取,它提供了代表 OneNote 文件的 Document 类以及 GetChildNodes() 等方法,使开发人员可以轻松定位和提取表格元素。

您可以从 Aspose.Note for .NET 版本页面下载它或使用 NuGet 安装它:

PM> 安装包 Aspose.Note

如何从 OneNote 中的表格中提取文本

Aspose.Note 可以从不同级别的 OneNote 文档中提取文本:

整个桌子
特定行
单个细胞

让我们一步一步地了解其中的每一个。

样本表

要了解有关使用 C# 从 OneNote 文档中提取文本和图像的更多信息,请查看有关从 OneNote 文件中提取内容的详细指南。

1.使用C#从OneNote中的表格中提取文本

我们可以使用 Aspose.Note for .NET 轻松从 OneNote 文档中的所有可用表格中提取文本。我们将完成访问表节点、读取其内容并以可读格式显示提取的文本的过程。

请按照以下步骤从 OneNote 文档中的表格中提取文本:

使用 Document 类加载 .one 文件。
使用 GetChildNodes

() 方法检索所有表节点。
循环遍历每个表并提取其文本内容。
在控制台上打印结果。

以下代码示例演示如何从 OneNote 文档中的所有表格中提取文本。

输出

表#1
细胞_1.1
细胞_1.2
细胞_1.3
细胞_2.1
细胞_2.2
细胞_2.3

2. 从 OneNote 表格中的特定行中提取文本

有时,您只需要从特定行而不是整个表中提取文本。我们将循环遍历所有表,然后遍历每一行,独立提取文本。当您需要按行分析或处理表数据时,它非常有用。

您可以按照以下步骤逐行提取文本:

使用 Document 类加载 OneNote 文件。
获取表节点列表。
循环遍历每个表,然后遍历每一行。
从每行中提取并显示文本。

以下代码示例演示如何使用 C# 从表中提取一行文本:

输出

第 1 行:
细胞_1.1
细胞_1.2
细胞_1.3

第 2 行:
细胞_2.1
细胞_2.2
细胞_2.3

3. 从表格中的特定单元格中提取文本

如果您想更深入地从特定单元格中提取文本,您也可以这样做。为此,我们将检索最小的文本单元,即每个单元格的内容。当您需要对数据提取进行细粒度控制以进行进一步处理或数据映射时,它是完美的选择。

请按照以下步骤从 OneNote 表格中的特定单元格中提取文本:

使用 Document 类加载 OneNote 文档。
使用 GetChildNodes

() 检索表节点。
循环遍历每个表及其行。
使用 GetChildNodes() 提取单元节点。
从每个单元格中提取文本并显示它。

以下代码示例演示如何使用 C# 从表中的行获取单元格文本:

输出

细胞_1.1

细胞_1.2

细胞_1.3

细胞_2.1

细胞_2.2

细胞_2.3

为什么使用 Aspose.Note for .NET 进行文本提取?
完全离线工作,无需使用 Microsoft OneNote。
提取保留格式和结构的文本。
支持所有表格元素(标题、单元格、嵌套表格)。
为过滤和查询内容提供强大的 LINQ 支持。
与现有 .NET 应用程序轻松集成。

无论您是构建分析工具、自动化脚本还是自定义注释转换器,Aspose.Note 都能为您提供所需的灵活性和控制力。

您可以从 Aspose 许可证页面获取免费的临时许可证,以无限制地尝试 Aspose.Note for .NET。只需一分钟即可申请,您将能够测试该库的全部功能。

免费的附加资源
.NET 文档的 Aspose.Note
API参考
免费 OneNote 查看器应用程序
支持论坛
结论

从 OneNote 中的表格中提取文本并不一定很复杂。借助 Aspose.Note for .NET,您只需使用几行 C# 代码即可轻松从整个表格、特定行或单个单元格获取文本。 API 处理解析、节点管理和内容遍历,而您可以专注于根据需要使用该数据。

如果您有任何疑问或需要入门帮助,请访问我们的免费支持论坛与 Aspose.Note 团队联系。

常见问题解答

问:我可以从 OneNote 文档中的特定表格中提取文本吗?

是的,您可以使用 LINQ 或基于索引的选择来过滤表节点,以针对特定表进行提取。

问:我需要安装 Microsoft OneNote 才能使用 Aspose.Note for .NET 吗?

不需要,Aspose.Note for .NET 独立工作,不需要 Microsoft OneNote 或任何其他外部软件。

问:Aspose.Note for .NET 在文本提取过程中是否保留表结构?

是的,它保留了表格的逻辑结构,允许您从整个表格、行或单个单元格中提取内容,同时保持顺序。

问:我可以从 OneNote 表格中提取格式化文本吗?

Aspose.Note 主要提取纯文本。但是,如果需要格式化详细信息,您可以访问和处理富文本对象。

问:Aspose.Note for .NET 是否与 .NET Core 和 .NET 6+ 兼容?

是的,它支持 .NET Framework、.NET Core 以及跨 Windows、Linux 和 macOS 的最新 .NET 版本。

另请参阅
在 OneNote 中创建编号列表
使用 OneNote 进行项目符号日记
OneNote 转 JPG
OneNote 到 Excel
在 OneNote 中插入表格
将 PDF 插入 OneNote
OneNote 转 HTML

发表回复

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