Javaを使用してExcelチャートをSVGに変換する

SVG(Scalable Vector Graphics)は、画像を2次元のベクターグラフィック形式で保存するXMLベースのベクター画像形式です。 SVG画像は、任意のテキストエディタで編集することもできます。データチャートをExcelワークブックからSVGファイルにプログラムで変換できます。この記事では、Javaを使用してExcelチャートをSVGに変換する方法を学習します。

この記事では、次のトピックについて説明します。

ExcelチャートをSVGに変換するJavaAPI

チャートをXLSXファイルからSVGに変換するには、Aspose.Cells for JavaAPIを使用します。これにより、Microsoft Excelアプリケーションを必要とせずに、プログラムでExcel自動化機能を実行できます。 APIのJARをダウンロードするか、MavenベースのJavaアプリケーションに次のpom.xml構成を追加してください。

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-cells</artifactId>
    <version>21.12</version>
</dependency>

ExcelチャートをJavaでSVGに変換する

以下の手順に従って、グラフをExcelワークシートからSVGに変換できます。

  1. まず、Workbookクラスを使用してExcelファイルをロードします。
  2. 次に、インデックス(ゼロベース)または名前のいずれかによって、ワークシートコレクションから変換するグラフがあるワークシートにアクセスします。
  3. 次に、チャートにアクセスして、チャートコレクションからインデックス(ゼロベース)で変換します。
  4. その後、ImageOrPrintOptions.setSaveFormatをSVGに設定します。
  5. 最後に、Chart.toImage()メソッドを使用してチャートをSVGに変換し、出力ファイルを保存します。

次のサンプルコードは、Javaを使用してグラフをExcelからSVGに変換する方法を示しています。

// このコード例は、グラフをExcelからSVGに変換する方法を示しています
// ブックオブジェクトにExcelファイルをロードします
Workbook workbook = new Workbook("C:\\Files\\Cells\\Sample_Chart.xlsx");

// 最初のワークシートにアクセスする
Worksheet worksheet = workbook.getWorksheets().get(0);

// ワークシート内の最初のグラフにアクセスします
Chart chart = worksheet.getCharts().get(0);

// チャートをSVG形式の画像に保存します
ImageOrPrintOptions options = new ImageOrPrintOptions();
options.setSaveFormat(SaveFormat.SVG);

chart.toImage("C:\\Files\\Cells\\Sample_Chart_out.svg", options);
ExcelチャートをJavaでSVGに変換する

JavaでExcelチャートをSVGに変換します。

チャートをエクスポートし、SVGをJavaのビューポートに合わせて拡大縮小する

XMLでは、viewBox属性は、SVGビューポートのコンテンツの位置と寸法を定義します。以下の手順に従って、ExcelワークシートからSVGに任意のグラフをエクスポートし、ビューポートに収まるように設定できます。

  1. まず、Workbookクラスを使用してExcelファイルをロードします。
  2. 次に、インデックス(ゼロベース)または名前のいずれかによって、ワークシートコレクションから変換するグラフがあるワークシートにアクセスします。
  3. 次に、チャートにアクセスして、チャートコレクションからインデックス(ゼロベース)でエクスポートします。
  4. ImageOrPrintOptions.setSaveFormatをSVGに設定します。
  5. その後、ImageOrPrintOptions.setSVGFitToViewPortをtrueに設定します。
  6. 最後に、Chart.toImage()メソッドを呼び出して、出力ファイルを保存します。

次のサンプルコードは、Javaを使用してビューポートに収まるようにExcelからSVGにグラフをエクスポートする方法を示しています。

// このコード例は、グラフをExcelからSVGに変換し、ビューポートに収まるように設定する方法を示しています。
// ブックオブジェクトにExcelファイルをロードします
Workbook workbook = new Workbook("C:\\Files\\Cells\\Sample_Chart.xlsx");

// 最初のワークシートにアクセスする
Worksheet worksheet = workbook.getWorksheets().get(0);

// ワークシート内の最初のグラフにアクセスします
Chart chart = worksheet.getCharts().get(0);

// 画像または印刷オプションを設定する
// SVGFitToViewPortを使用してtrue
ImageOrPrintOptions options = new ImageOrPrintOptions();
options.setSaveFormat(SaveFormat.SVG);
options.setSVGFitToViewPort(true);

chart.toImage("C:\\Files\\Cells\\Sample_Chart_ViewPort_out.svg", options);
チャートをエクスポートし、SVGをJavaのビューポートに合わせて拡大縮小する

チャートをエクスポートし、SVGをJavaのビューポートに合わせてスケーリングします。

無料ライセンスを取得する

無料の一時ライセンスをリクエストして、評価制限なしでAPIを試してください。

結論

この記事では、JavaでグラフをExcelからSVGに変換する方法を学びました。プログラムでビューポートに収まるようにExcelチャートをSVGにエクスポートする方法も見てきました。さらに、ドキュメントを使用して、JavaAPI用のAspose.Cellsについて詳しく知ることができます。あいまいな点がありましたら、フォーラムまでお気軽にお問い合わせください。

関連項目