CSV から XLSX への変換は、アプリケーションが Excel ユーザーとデータをやり取りする必要がある場合に頻繁に求められます。 Aspose.HTML Cloud SDK for Java は、強力なクラウドベースの API を提供し、この変換を効率的に処理します。このガイドでは、Maven 依存関係の設定方法、ストリームで CSV データを読み取る方法、XLSX ワークブックの生成方法、そして REST API を介した変換の呼び出し方を示します。最後まで読むと、独自のプロジェクトに適用できる完全な本番環境向けサンプルが手に入ります。

前提条件とセットアップ

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

  • Java 17 以降がインストールされていること。
  • クライアント ID とクライアント シークレットを持つ Aspose Cloud アカウント。
  • 依存関係管理のために Maven がインストールされていること。

プロジェクトに Aspose.HTML Cloud SDK for Java を追加する:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-html-cloud</artifactId>
    <version>23.12</version>
</dependency>

代わりに、コマンドラインから直接パッケージをインストールすることもできます:

mvn install com.aspose:aspose-html-cloud

最新の SDK バイナリはダウンロードページから取得してください。依存関係が解決したら、コーディングを開始できます。次のセクションでは、実装手順をステップバイステップで説明します。

JavaでのCSVからXLSXへの変換: ステップバイステップの手順

ステップ 1: Java ストリームでソース CSV を読み込む

CSV を行単位で読み込むことで、メモリ使用量が低く抑えられます。これは大きなファイルにとって重要です。

Path csvPath = Paths.get("input.csv");
List<String> csvLines = Files.readAllLines(csvPath, StandardCharsets.UTF_8);

ステップ 2: Aspose.HTML クラウド クライアントを初期化する

クレデンシャルを使用してクライアント インスタンスを作成します。クライアント クラスは API リファレンス に記載されています。

HtmlApi htmlApi = new HtmlApi();
htmlApi.getConfiguration().setClientId("YOUR_CLIENT_ID");
htmlApi.getConfiguration().setClientSecret("YOUR_CLIENT_SECRET");

ステップ 3: CSV コンテンツを XLSX に変換

SDK は CSV データを文字列として受け取り、バイナリ XLSX ストリームを返します。

String csvContent = String.join("\n", csvLines);
ConvertDocumentRequest request = new ConvertDocumentRequest()
        .outputFormat("xlsx")
        .inputFileContent(csvContent.getBytes(StandardCharsets.UTF_8));
byte[] xlsxBytes = htmlApi.convertDocument(request);

ステップ 4: 生成された XLSX ファイルを保存

返されたバイト配列をディスク上のファイルに書き込みます。

Path xlsxPath = Paths.get("output.xlsx");
Files.write(xlsxPath, xlsxBytes);

ステップ 5: 変換の確認 (オプション)

生成されたファイルは、Apache POI または任意のスプレッドシートビューアで素早く開き、データが正しくフォーマットされていることを確認できます。

完全なコード例: CSV から XLSX への変換(Aspose.HTML Cloud SDK 使用)

以下のプログラムは、すべての手順を単一の実行可能クラスにまとめます。

import java.nio.file.*;
import java.nio.charset.StandardCharsets;
import java.util.List;
import com.aspose.html.cloud.api.HtmlApi;
import com.aspose.html.cloud.model.ConvertDocumentRequest;

public class CsvToXlsxConverter {
    public static void main(String[] args) throws Exception {
        // 1. Load CSV file
        Path csvPath = Paths.get("input.csv");
        List<String> csvLines = Files.readAllLines(csvPath, StandardCharsets.UTF_8);
        String csvContent = String.join("\n", csvLines);

// 2. Initialise Aspose.HTML Cloud client
        HtmlApi htmlApi = new HtmlApi();
        htmlApi.getConfiguration().setClientId("YOUR_CLIENT_ID");
        htmlApi.getConfiguration().setClientSecret("YOUR_CLIENT_SECRET");

// 3. Convert CSV to XLSX
        ConvertDocumentRequest request = new ConvertDocumentRequest()
                .outputFormat("xlsx")
                .inputFileContent(csvContent.getBytes(StandardCharsets.UTF_8));
        byte[] xlsxBytes = htmlApi.convertDocument(request);

// 4. Save XLSX file
        Path xlsxPath = Paths.get("output.xlsx");
        Files.write(xlsxPath, xlsxBytes);

System.out.println("Conversion completed. XLSX saved to " + xlsxPath.toAbsolutePath());
    }
}

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

cURL を使用して Aspose.HTML Cloud で XLSX を生成する

同じ変換は REST API を使用して実行できます。以下は必要な cURL コマンドです。

  1. 認証してアクセストークンを取得する
curl -X POST "https://api.aspose.cloud/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"

レスポンスには、以降の呼び出しで使用する access_token が含まれています。

  1. CSV ファイルをアップロード
curl -X POST "https://api.aspose.cloud/v4.0/html/storage/file/input.csv" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -F "file=@input.csv"
  1. 変換を実行する
curl -X POST "https://api.aspose.cloud/v4.0/html/convert?outputFormat=xlsx" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{"inputPath":"input.csv"}' \
     -o output.xlsx
  1. XLSX ファイルをダウンロード (別の出力場所を選択した場合)
curl -X GET "https://api.aspose.cloud/v4.0/html/storage/file/output.xlsx" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o output.xlsx

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

大規模CSVからXLSXへの変換におけるパフォーマンス上の考慮事項

  • CSV入力のストリーミング - Files.lines またはバッファードリーダーを使用して、メモリに全体を読み込むのではなく、1 行ずつ処理します。
  • バッチアップロード - 100 MB を超えるファイルを扱う場合、CSV を小さなチャンクに分割し、各チャンクを個別に変換し、必要に応じて生成された XLSX パーツをマージします。
  • 非同期変換の有効化 - 変換リクエストにクエリパラメータ async=true を付加して、クラウドサービスにバックグラウンドでファイルを処理させ、クライアント側の待機時間を短縮します。
  • 出力設定の調整 - 正確な セル スタイルが不要な場合は、preserveFormatting フラグを false に設定します。これによりペイロードサイズが削減され、変換が高速化します。

結論

このガイドでは、Aspose.HTML Cloud SDK for Java を使用して、Java で CSV から XLSX への変換を実行する方法を示しました。Maven の設定方法、ストリームで CSV データを読み取る方法、クラウド API の呼び出し方法、大きなファイルを効率的に処理する方法を学びました。商用利用には商用ライセンスが必要であることを忘れないでください。臨時ライセンスは一時ライセンスページ から取得でき、製品ページで完全な価格オプションを確認できます。これらのツールを使用すれば、任意の Java アプリケーションにシームレスな CSV‑to‑XLSX 機能を統合できます。

よくある質問

  • CSVファイルに引用符で囲まれたフィールド内にカンマが含まれている場合、最適な処理方法は何ですか?
    Apache Commons CSV のような堅牢な CSV パーサーを使用して、データを変換 API に渡す前に処理してください。パーサーは引用された区切り文字を尊重し、正確な行抽出を保証します。

  • Aspose.HTML Cloud SDKは中間のHTMLステップなしでXLSX出力をサポートしていますか?
    はい。convertDocumentメソッドは生のCSVコンテンツを受け取り、コード例に示すように直接XLSXファイルを生成できます。

  • ローカルで変換を実行し、クラウドを使用しないことはできますか?
    Aspose.HTML Cloud SDK はクラウドベースのサービスであるため、インターネット接続と有効な認証情報が必要です。オンプレミスのシナリオの場合は、別製品である Aspose.Cells を検討してください。

  • 非同期変換リクエストのステータスをどのように監視しますか?
    async=true が使用された場合、API はジョブ ID を返します。ステータスを確認するために /jobs/{jobId} エンドポイントをポーリングし、ジョブが完了したら結果をダウンロードします。

さらに読む