スプレッドシート データの視覚的プレビューを生成することは、レポート ダッシュボードやメール要約を作成する際に頻繁に求められる要件です。 Conholdate.Total for Java は、Java アプリケーションで Excel を画像に変換するプロセスを簡素化する堅牢な SDK を提供します。このガイドでは、XLSX ワークブックの読み込み方法、PNG 出力の設定方法、そしてワークシート全体、チャート、または特定の範囲の画像ファイルを生成する方法を紹介します。最後まで読むと、すぐに実行できるコードサンプルが手に入り、独自のプロジェクトに適用できます。

Excel ファイルを画像に変換する際にアプリケーションが必要とするもの

開発者は、スプレッドシートの内容をウェブプレビュー、PDF レポート、またはモバイルサムネイル用の静的画像に変換する必要があることがよくあります。通常、要件には cell の書式を保持し、埋め込みチャートをレンダリングし、必要に応じて変換を単一の範囲に限定することが含まれます。Excel を開いてスクリーンショットを撮り、保存するという手作業でこれらのタスクを処理すると、規模を拡大できず、一貫性のない結果になる可能性があります。

信頼できるソリューションの技術的制約は、XLSX ファイルのサポート、チャートや数式の組み込み機能、画像解像度の設定可能性、複数のワークシートのバッチ処理です。変換は Microsoft Office を必要とせず、サーバーまたはデスクトップ環境で実行できる必要があります。

ジョブに Conholdate.Total for Java を選ぶ

Conholdate.Total for Java は、必要なすべての機能を網羅した統一 API を提供します。その ExcelLoadOptions によりチャートや数式を読み込むことができ、ImageConvertOptions はフォーマット、品質、サイズに対する細かな制御を可能にします。SDK は任意の Java ランタイム上で動作し、Maven 依存関係だけで済み、大規模なワークブックも効率的に処理します。

詳細な API の使用方法については、公式ドキュメントをご覧ください。ConversionExcelLoadOptionsImageConvertOptions などのクラスの完全なリファレンスは、API リファレンスで利用できます。最新のライブラリは、リリースページからダウンロードできます。

JavaでExcelを画像に変換する実装

変換プロセスは、いくつかの明確なステップに分解できます。以下のセクションでは、完全な例から直接抜粋した短いコード例とともに、各パートを順に説明します。

Maven を使用して Conholdate.Total for Java をインストール

Conholdate Maven リポジトリと SDK 依存関係を 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>

チャートと数式サポート付き Excel ファイルの読み込み

ExcelLoadOptions のインスタンスを作成し、チャートと数式の読み込みを有効にし、ファイルストリームで Conversion オブジェクトを初期化します:

ExcelLoadOptions loadOptions = new ExcelLoadOptions();
loadOptions.setLoadCharts(true);
loadOptions.setLoadFormulas(true);

Conversion conversion = new Conversion(new FileInputStream("input.xlsx"), loadOptions);

PNG の画像出力オプションを構成する

目的の画像形式、品質、サイズを設定します。幅は固定され、高さはアスペクト比を維持します:

ImageConvertOptions imgOptions = new ImageConvertOptions();
imgOptions.setFormat(ImageConvertOptions.ImageFormat.PNG);
imgOptions.setQuality(90);
imgOptions.setWidth(1200);
imgOptions.setHeight(0); // preserve aspect ratio

各ワークシートまたは範囲を PNG 画像に変換

ワークブックのページ(シート)を反復処理し、各ページを変換します。pageNumber を調整するか、追加のロードオプションを使用して、特定の範囲を対象にすることもできます。

int pageCount = conversion.getPageCount();
for (int i = 1; i <= pageCount; i++) {
    imgOptions.setPageNumber(i);
    String outputPath = "output_images/sheet_" + i + ".png";
    conversion.convert(outputPath, imgOptions);
}

出力を検証し、例外を処理する

変換ロジックを try‑catch ブロックでラップし、開始する前に出力ディレクトリが存在することを確認してください:

try {
    Files.createDirectories(Paths.get("output_images"));
    // conversion code here
    System.out.println("Excel to image conversion completed successfully.");
} catch (Exception ex) {
    System.err.println("Conversion failed: " + ex.getMessage());
    ex.printStackTrace();
}

上記の手順は、Conholdate.Total SDK を使用して Excel を画像に変換 する方法を示し、チャート、範囲、完全なワークシートを処理する柔軟性を提供します。

完全なコード例:フルシートサポートでExcelを画像に変換

以下のコードは、上記の手順で説明した完全な、すぐに実行できる実装を示しています。

import java.io.FileInputStream;
import java.nio.file.Files;
import java.nio.file.Paths;

import com.groupdocs.conversion.Conversion;
import com.groupdocs.conversion.options.load.ExcelLoadOptions;
import com.groupdocs.conversion.options.convert.ImageConvertOptions;
import com.groupdocs.conversion.options.convert.ImageConvertOptions.ImageFormat;

public class ExcelToImageConverter {
    public static void main(String[] args) {
        String inputFile = "input.xlsx";
        String outputFolder = "output_images";

try {
            // Create output directory if it does not exist
            Files.createDirectories(Paths.get(outputFolder));

// Load options: include charts and formulas during conversion
            ExcelLoadOptions loadOptions = new ExcelLoadOptions();
            loadOptions.setLoadCharts(true);
            loadOptions.setLoadFormulas(true);

// Initialize conversion with the Excel file and load options
            try (Conversion conversion = new Conversion(new FileInputStream(inputFile), loadOptions)) {

// Determine how many pages (sheets) the workbook has
                int pageCount = conversion.getPageCount();

// Configure image output options
                ImageConvertOptions imgOptions = new ImageConvertOptions();
                imgOptions.setFormat(ImageFormat.PNG);   // Output format
                imgOptions.setQuality(90);               // Quality (relevant for JPEG)
                imgOptions.setWidth(1200);               // Desired width, height will keep aspect ratio
                imgOptions.setHeight(0);                 // 0 means preserve original aspect ratio

// Convert each sheet to a separate image file
                for (int i = 1; i <= pageCount; i++) {
                    imgOptions.setPageNumber(i);
                    String outputPath = outputFolder + "/sheet_" + i + ".png";
                    conversion.convert(outputPath, imgOptions);
                }
            }

System.out.println("Excel to image conversion completed successfully.");
        } catch (Exception ex) {
            System.err.println("Conversion failed: " + ex.getMessage());
            ex.printStackTrace();
        }
    }
}

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

結論

JavaでExcelを画像に変換することは、Conholdate.Total for Java を活用すれば簡単になります。SDKはチャートのレンダリング、数式の評価、そして高品質なPNG出力を最小限のコードで処理します。ステップバイステップのガイドに従うことで、この機能をレポートツール、メールジェネレータ、またはスプレッドシートの視覚的表現が必要なあらゆるアプリケーションに統合できます。実運用では商用ライセンスが必要になることを忘れないでください。価格オプションはConholdate.Total の価格 のページで確認でき、評価中は一時ライセンスページ から一時ライセンスを取得できます。

よくある質問

  • JavaでExcelを画像に変換するにはどうすればよいですか?
    Conversion クラスを Conholdate.Total for Java から使用し、ExcelLoadOptionsImageConvertOptions を構成して、各ワークシートに対して convert を呼び出します。

  • Excel のチャートを画像に変換できますか?
    はい。loadOptions.setLoadCharts(true) でチャートの読み込みを有効にし、imgOptions.setPageNumber を設定する際にチャートのページ番号を指定します。

  • 特定のセル範囲だけを変換することは可能ですか?
    変換前に、ロードオプションで範囲を定義するか、目的の範囲に対応する適切なページ番号を選択できます。

  • 本番環境で必要なライセンスは何ですか?
    商用ライセンスが必要です。コストはConholdate.Total pricingページで確認し、temporary license pageから一時ライセンスを取得してください。

もっと読む