要使用 GroupDocs.Parser 从 XLSX 文档中解析表格,请按照以下步骤在您的 Java 环境中操作:
- 创建一个 Parser 实例并加载目标 XLSX 文件。
- 验证该文件是否支持结构化表格提取。
- 使用 API 从文档中检索表格元素。
- 在分析、报告或自动化系统中使用提取的数据。
要使用 GroupDocs.Parser 从 XLSX 文档中解析表格,请按照以下步骤在您的 Java 环境中操作:
// 加载包含表格元素的输入文档
try (Parser parser = new Parser("input.xlsx"))
{
// 验证文档类型是否允许表格识别
if (!parser.getFeatures().isTables()) {
System.out.println("为不支持表格的文件添加逻辑");
return;
}
// 定义解释表格结构的规则
TemplateTableLayout layout = new TemplateTableLayout(
java.util.Arrays.asList(new Double[]{50.0, 95.0, 275.0, 415.0, 485.0, 545.0}),
java.util.Arrays.asList(new Double[]{325.0, 340.0, 365.0, 395.0}));
// 设置提取表格的参数
PageTableAreaOptions options = new PageTableAreaOptions(layout);
// 在加载的文档上运行表格提取
Iterable<PageTableArea> tables = parser.getTables(options);
// 处理提取结果中的每个表格
for (PageTableArea t : tables)
{
}
}
<dependencies>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-parser</artifactId>
<version>24.9</version>
</dependency>
</dependencies>
<repositories>
<repository>
<id>repository.groupdocs.com</id>
<name>GroupDocs Repository</name>
<url>https://repository.groupdocs.com/repo/</url>
</repository>
</repositories>
除了读取表格,GroupDocs.Parser 还支持捕获纯文本、视觉元素、嵌入的元数据和结构化对象,以增强文档处理任务。
支持从 PDF、Word、Excel 和 HTML 等标准文档类型中高精度提取表格。
在保留结构和对齐的前提下,从电子表格、文档和报告中提取表格数据。
控制布局检测,管理页眉和页脚,并通过灵活的配置选项细化提取。
此示例显示如何使用 GroupDocs.Parser 提取 Excel(XLSX)文件中的表格内容并进行循环。
// 使用 Excel 文件初始化 Parser
try (Parser parser = new Parser("input.pdf"))
{
// 如果此文档不支持表格提取,则退出
if (!parser.getFeatures().isTables())
{
return;
}
// 应用规则以定位表格布局
TemplateTableLayout layout = new TemplateTableLayout(
java.util.Arrays.asList(new Double[]{50.0, 95.0, 275.0, 415.0, 485.0, 545.0}),
java.util.Arrays.asList(new Double[]{325.0, 340.0, 365.0, 395.0}));
// 配置表格提取的设置
PageTableAreaOptions options = new PageTableAreaOptions(layout);
// 调用提取过程
Iterable<PageTableArea> tables = parser.getTables(options);
// 循环遍历所有解析的表格结构
for (PageTableArea t : tables)
{
// 迭代表格中的每一行
for (int row = 0; row < t.getRowCount(); row++)
{
// 处理当前行中的每个单元格
for (int column = 0; column < t.getColumnCount(); column++)
{
// 访问并读取当前单元格的内容
PageTableAreaCell cell = t.getCell(row, column);
if (cell != null)
{
// 输出每个表格单元格的文本值
System.out.print(cell.getText());
System.out.print(" | ");
}
}
}
}
}