HTMLレポートをExcelスプレッドシートに変換することは、ユーザーが分析結果や請求書をダウンロードできるようにする必要があるJavaベースのWebアプリケーションで頻繁に求められる要件です。 GroupDocs.Conversion Cloud SDK for Java は、ローカルにOfficeをインストールすることなく、フォーマット変換の重い処理を処理する堅牢なAPIを提供します。このガイドでは、SDKのセットアップ方法、変換コードの記述方法、そしてcURLを使用したRESTインターフェイス経由で同じサービスを呼び出す方法を紹介します。最後まで読めば、HTMLからXLSX への変換をサーバー、サーブレット、Spring Bootアプリ、または任意のマルチスレッドJavaサービスに組み込む準備が整います。

JavaでHTMLレポートをXLSXにエクスポートする - 要件

多くのエンタープライズ ポータルは、ユーザーがオフライン分析のために XLSX ワークブックとしてエクスポートしたい動的な HTML ダッシュボードを生成します。典型的な要件は次のとおりです:

  • クラウドストレージに保存されている、またはオンザフライで生成されたHTMLソースへのアクセス。
  • 変換時にテーブル構造、cell スタイル、数値形式を保持。
  • Microsoft Office をインストールせずに、バックエンドサーバー、サーブレットコンテナ、またはマイクロサービス内で変換を実行できる機能。

手動のコピー‑ペーストやクライアント側のライブラリでは、一貫したフォーマットを保証できません。特に、大規模なレポートや高並行性シナリオ(例:Java の HTML から XLSX への変換サーバー)を扱う場合は注意が必要です。

エクスポート要件に対応するための GroupDocs.Conversion Cloud SDK for Java の活用

SDK は、HTML を入力として、XLSX を出力としてサポートするクラウドベースの変換エンジンを提供し、ローカルの Office コンポーネントは不要です。要件に合致する主な機能は次のとおりです:

  • Cloud processing - 重い変換は GroupDocs サーバー上で実行され、Java の HTML から XLSX への変換サーブレットや Spring Boot Web アプリケーションに最適です。
  • Configurable options - 元の書式を保持し、ワークシート名を設定し、XlsxConvertOptions を使用してセルのデータ型を制御できます。
  • Thread‑safe client - Java における HTML から XLSX への変換のマルチスレッド処理に適しており、高スループットのバッチジョブを実現します。

詳細については、公式ドキュメントAPIリファレンス を参照してください。

Java における HTML から XLSX への変換: 実装

GroupDocs.Conversion Cloud SDK のインストール

Maven プロジェクトに SDK を追加します:

<dependency>
    <groupId>com.groupdocs</groupId>
    <artifactId>groupdocs-conversion-cloud</artifactId>
    <version>23.12</version>
</dependency>

または、インストールコマンドを実行してください:

mvn install com.groupdocs:groupdocs-conversion-cloud

APIクライアントの初期化

認証情報を使用して ApiClient を作成し、ConversionApi をインスタンス化します。

import com.groupdocs.conversion.cloud.ApiClient;
import com.groupdocs.conversion.cloud.api.ConversionApi;

ApiClient apiClient = new ApiClient("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
ConversionApi conversionApi = new ConversionApi(apiClient);

ソースファイル情報の設定

デフォルトのクラウドストレージにある HTML ファイルを指定します。

import com.groupdocs.conversion.cloud.model.FileInfo;

FileInfo sourceFile = new FileInfo();
sourceFile.setFilePath("input.html");          // path in the cloud storage
sourceFile.setStorageName("DefaultStorage");   // optional

XLSX 変換オプションの構成

元の書式設定を保持するなどのオプションを調整します。

import com.groupdocs.conversion.cloud.model.XlsxConvertOptions;

XlsxConvertOptions xlsxOptions = new XlsxConvertOptions();
xlsxOptions.setPreserveOriginalFormatting(true);

変換を実行し、結果を取得する

リクエストを作成し、実行して、出力パスを取得します。

import com.groupdocs.conversion.cloud.model.ConvertDocumentRequest;
import com.groupdocs.conversion.cloud.model.ConvertDocumentResponse;

ConvertDocumentRequest request = new ConvertDocumentRequest();
request.setFileInfo(sourceFile);
request.setFormat("xlsx");                     // target format
request.setConvertOptions(xlsxOptions);
request.setOutputPath("output.xlsx");          // desired output path

try {
    ConvertDocumentResponse response = conversionApi.convertDocument(request);
    System.out.println("Conversion successful. Output file: " + response.getPath());
} catch (Exception e) {
    System.err.println("Error during conversion: " + e.getMessage());
    e.printStackTrace();
}

Java を使用した HTML ドキュメントの XLSX への変換 - 完全なコード例

以下の例は、すべての要素を単一の実行可能クラスにまとめています。

import com.groupdocs.conversion.cloud.ApiClient;
import com.groupdocs.conversion.cloud.api.ConversionApi;
import com.groupdocs.conversion.cloud.model.ConvertDocumentRequest;
import com.groupdocs.conversion.cloud.model.ConvertDocumentResponse;
import com.groupdocs.conversion.cloud.model.FileInfo;
import com.groupdocs.conversion.cloud.model.XlsxConvertOptions;

public class HtmlToXlsxConversionExample {
    public static void main(String[] args) {
        // Initialize API client (replace with your actual credentials)
        ApiClient apiClient = new ApiClient("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
        ConversionApi conversionApi = new ConversionApi(apiClient);

// Define source HTML file information
        FileInfo sourceFile = new FileInfo();
        sourceFile.setFilePath("input.html");          // path in the cloud storage
        sourceFile.setStorageName("DefaultStorage");   // optional, use default if omitted

// Set conversion options specific to XLSX output
        XlsxConvertOptions xlsxOptions = new XlsxConvertOptions();
        // Example option: preserve original formatting (if needed)
        xlsxOptions.setPreserveOriginalFormatting(true);

// Build conversion request
        ConvertDocumentRequest request = new ConvertDocumentRequest();
        request.setFileInfo(sourceFile);
        request.setFormat("xlsx");                     // target format
        request.setConvertOptions(xlsxOptions);
        request.setOutputPath("output.xlsx");          // desired output path in cloud storage

try {
            // Perform conversion
            ConvertDocumentResponse response = conversionApi.convertDocument(request);
            System.out.println("Conversion successful. Output file: " + response.getPath());
        } catch (Exception e) {
            System.err.println("Error during conversion: " + e.getMessage());
            e.printStackTrace();
        }
    }
}

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

REST と cURL を使用した HTML からの XLSX エクスポートの実行

Javaコードを書かずに直接REST APIを呼び出すことで、同じ変換を実行できます。フローはSDKの手順と同様で、トークンを取得し、HTMLファイルをアップロードし、変換をリクエストし、XLSX結果をダウンロードします。

アクセストークンの取得

curl -X POST "https://api.groupdocs.cloud/v2.0/connect/token" \
     -H "Content-Type: application/x-www-form-urlencoded" \
     -d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"

ソースHTMLをアップロード

curl -X PUT "https://api.groupdocs.cloud/v2.0/storage/file/input.html" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: text/html" \
     --data-binary @input.html

変換リクエスト

curl -X POST "https://api.groupdocs.cloud/v2.0/conversion/convert" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
           "fileInfo": {
               "filePath": "input.html",
               "storageName": "DefaultStorage"
           },
           "outputPath": "output.xlsx",
           "format": "xlsx",
           "convertOptions": {
               "preserveOriginalFormatting": true
           }
         }'

XLSX 結果のダウンロード

curl -X GET "https://api.groupdocs.cloud/v2.0/storage/file/output.xlsx" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o output.xlsx

パラメータの完全な一覧と追加の例については、公式 API ドキュメントをご覧ください。

結論

HTMLからXLSXへの変換は、GroupDocs.Conversion Cloud SDK for Java のクラウドベース処理を活用することでシンプルになります。SDKはHTMLテーブルの解析、スタイルの処理、標準準拠のXLSXファイル生成という複雑さを抽象化し、サーバーサイド、サーブレットベース、またはSpring Bootウェブアプリケーションに最適です。専用の変換サーバー、マイクロサービス、またはマルチスレッドバッチプロセッサを構築する場合でも、同じAPIが負荷に応じてスケールします。評価のために一時ライセンスページから一時ライセンスを取得し、実運用時の価格詳細を確認してください。このガイドのコードとcURL例を使用すれば、任意のJavaソリューションにHTMLからXLSXへのエクスポートを統合できます。

よくある質問

JavaサーブレットでHTMLからXLSXへの変換を実行するにはどうすればよいですか?
アップロードされたHTMLファイルを受け取るサーブレットを作成し、GroupDocs.Conversion Cloud SDK for Java を使用して convertDocument を呼び出し、生成されたXLSXストリームをHTTPレスポンスに書き戻します。SDK のスレッドセーフなクライアントはサーブレットコンテナ内でうまく機能します。

HTML を XLSX 変換を Java のマイクロサービスとして実行することは可能ですか?
はい。変換ロジックを軽量な Spring Boot アプリケーションにパッケージ化し、REST エンドポイントを公開し、SDK に実際のフォーマット変換を任せます。このアプローチは Java の HTML から XLSX 変換マイクロサービス パターンに適しています。

マルチスレッドの Java アプリケーションで HTML を XLSX に変換できますか?
SDK はスレッドセーフに設計されているため、複数の変換タスクを並行して起動できます。これにより、Java シナリオでの大量の HTML から XLSX への変換サーバーに役立ちます。

GroupDocs.Conversion Cloud SDK for Java のライセンスに関する詳細はどこで確認できますか?
一時ライセンスページにアクセスしてトライアルキーを取得し、価格ページでフルライセンスオプションを確認してください。両方のリンクは製品のメインページに掲載されています。

さらに読む