ExcelスプレッドシートをJSONに変換することは、データ交換パイプラインを構築したりAPIにデータを供給したりする際に頻繁に求められます。Conholdate.Total for Javaは、Java開発者向けにこのタスクを簡素化する強力なSDKです。このガイドでは、ライブラリの設定方法、完全な実装の手順、そしてプロジェクトの要件に合わせて変換オプションを微調整する方法を学びます。

Conholdate.Total for Java の前提条件とセットアップ

開始する前に、以下が揃っていることを確認してください:

  • Java 17 以上がインストールされていること。
  • 依存関係管理のための Maven 3.6+。
  • 変換したい Excel ファイル(.xlsx)。

Conholdate.Total の Maven リポジトリと依存関係を pom.xml に追加します:

<repositories>
    <repository>
        <id>conholdate-repo</id>
        <name>Conholdate Maven Repository</name>
        <url>https://repository.conholdate.com/repo/</url>
    </repository>
</repositories>

<dependency>
    <groupId>com.conholdate</groupId>
    <artifactId>conholdate-total</artifactId>
    <version>24.9</version>
    <type>pom</type>
</dependency>

最新の JAR は、ダウンロードページから直接ダウンロードできます。SDK が整っていれば、Java で Excel から JSON への変換を開始する準備ができています。

JavaでのExcelからJSONへの変換:ステップバイステップのウォークスルー

ステップ 1: ソース Excel ドキュメントを読み込む

まず、ソースの XLSX ファイルへのパスを指定し、Conversion インスタンスを作成します。try‑with‑resources ブロックは、変換オブジェクトが適切に破棄されることを保証します。

String inputFile = "sample.xlsx";
try (Conversion conversion = new Conversion(inputFile)) {
    // conversion object ready
}

ステップ 2: JSON 変換オプションの構成

Create a JsonConvertOptions オブジェクトを作成し、pretty‑print、ヘッダーの含め方、カスタム日付および数値形式、バッチサイズなどの設定を調整します。これらのオプションは、Java での Excel から JSON への変換が最終出力をどのように形成するかを制御します。

JsonConvertOptions jsonOptions = new JsonConvertOptions();
jsonOptions.setPrettyPrint(true);
jsonOptions.setIncludeHeaders(true);
jsonOptions.setDateFormat(JsonConvertOptions.DateFormat.CUSTOM);
jsonOptions.setCustomDateFormat("yyyy-MM-dd");
jsonOptions.setNumberFormat(JsonConvertOptions.NumberFormat.CUSTOM);
jsonOptions.setCustomNumberFormat("#.##");
jsonOptions.setRowsPerBatch(5000);

ステップ 3: 変換を実行する

対象の JSON ファイル名を指定し、convert メソッドを呼び出します。SDK は内部で変換を処理します。

String outputFile = "sample.json";
conversion.convert(outputFile, jsonOptions);

ステップ 4: 結果の処理とクリーンアップ

変換後、確認メッセージを出力します。例外はすべて捕捉され、コンソールに表示されます。

System.out.println("Conversion completed successfully. JSON saved to: " + outputFile);
} catch (Exception e) {
    System.err.println("Error during Excel to JSON conversion:");
    e.printStackTrace();
}

これらの手順により、JavaでのExcelからJSONへの変換が完了し、生成されたJSONをAPIやデータ処理ワークフローに統合できます。

完全実装:Java Excel から JSON への変換

以下の例は、JavaでConholdate.Total for Javaを使用してExcelをJSONに変換する方法を示しています。

import com.groupdocs.conversion.Conversion;
import com.groupdocs.conversion.options.convert.JsonConvertOptions;
import com.groupdocs.conversion.options.convert.JsonConvertOptions.DateFormat;
import com.groupdocs.conversion.options.convert.JsonConvertOptions.NumberFormat;

public class ExcelToJsonDemo {
    public static void main(String[] args) {
        // Input Excel file (generic path)
        String inputFile = "sample.xlsx";
        // Desired JSON output file
        String outputFile = "sample.json";

// Perform conversion inside try‑with‑resources to ensure proper cleanup
        try (Conversion conversion = new Conversion(inputFile)) {

// Configure JSON conversion options
            JsonConvertOptions jsonOptions = new JsonConvertOptions();

// Pretty‑print the JSON for readability
            jsonOptions.setPrettyPrint(true);

// Include column headers as JSON property names
            jsonOptions.setIncludeHeaders(true);

// Define how dates and numbers should be formatted in the JSON output
            jsonOptions.setDateFormat(DateFormat.CUSTOM);
            jsonOptions.setCustomDateFormat("yyyy-MM-dd");
            jsonOptions.setNumberFormat(NumberFormat.CUSTOM);
            jsonOptions.setCustomNumberFormat("#.##");

// Optional performance tweak: limit rows processed per batch (useful for very large sheets)
            jsonOptions.setRowsPerBatch(5000);

// Execute the conversion
            conversion.convert(outputFile, jsonOptions);

System.out.println("Conversion completed successfully. JSON saved to: " + outputFile);
        } catch (Exception e) {
            // Basic error handling – in production code you might want more sophisticated logging
            System.err.println("Error during Excel to JSON conversion:");
            e.printStackTrace();
        }
    }
}

注意: このコード例はコア機能を示しています。プロジェクトで使用する前に、ファイルパスや設定値を実際の環境に合わせて更新し、すべての必須依存関係が正しくインストールされていることを確認し、開発環境で徹底的にテストしてください。問題が発生した場合は、公式ドキュメント を参照するか、サポートチーム にお問い合わせください。

変換オプションと設定

SDK は JSON 出力をカスタマイズするためのいくつかのオプションを提供します:

  • Pretty Print - インデントを追加して可読性を向上させます。
    jsonOptions.setPrettyPrint(true);
    
  • Include Headers - ワークシートの最初の行をプロパティ名として使用します。
    setIncludeHeaders(true) (see the API リファレンス).
  • Custom Date Format - 日付パターンを定義します(例: "yyyy-MM-dd")。
    setCustomDateFormat("yyyy-MM-dd").
  • Custom Number Format - 数値の精度を制御します(例: "#.##")。
    setCustomNumberFormat("#.##").

これらの設定を調整することで、生成された JSON を下流サービスやデータベースの期待に合わせることができます。

結論

Java 実装で動作する Excel から JSON への変換が利用できるようになりました。これは Conholdate.Total for Java によって提供されています。SDK が重い処理を担当し、構成可能なオプションにより書式設定やパフォーマンスを制御できます。製品を本番環境で使用する際は適切なライセンスを取得することを忘れないでください。ライブラリを評価するために 一時ライセンスページ をリクエストするか、商用条件については完全な 価格ページ をご確認ください。ハッピーコーディング!

FAQs

  • JavaでConholdate.Totalを使用してExcelをJSONに変換するにはどうすればよいですか?
    コード例に示すように、Conversion クラスと JsonConvertOptions を組み合わせて使用します。SDK はファイル処理を抽象化し、単一の convert 呼び出しを提供します。

  • JavaでExcelからJSONへの変換中に日付と数値の形式をカスタマイズできますか?
    はい。setCustomDateFormatsetCustomNumberFormat メソッドを使用すると、ターゲットシステムの期待に合わせたパターンを定義できます。

  • Conholdate.Total for Java の利用可能なライセンスオプションは何ですか?
    一時評価ライセンスは一時ライセンスページから取得でき、完全ライセンスは価格ページで購入できます。

  • 大きなExcelファイルのバッチ処理はサポートされていますか?
    setRowsPerBatch オプションを使用すると、ワークシートをチャンク単位で処理でき、バッチ変換シナリオに最適です。

さらに読む