GroupDocs.Parser を使用して XLSX ドキュメントからテーブルを解析するには、Java 環境で以下の手順に従ってください。
- Parser のインスタンスを作成し、対象の XLSX ファイルを読み込む。
- ファイルが構造化されたテーブル抽出をサポートしていることを確認する。
- API を使用してドキュメントからテーブル要素を取得する。
- 抽出されたデータを分析、レポート、または自動化システムで活用する。
GroupDocs.Parser を使用して XLSX ドキュメントからテーブルを解析するには、Java 環境で以下の手順に従ってください。
// Parser を使用してテーブル要素を含む入力ドキュメントを読み込む
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) ファイルのテーブルコンテンツを抽出しループする方法を示します。
// Parser を Excel ファイルで初期化する
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(" | ");
}
}
}
}
}