
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に変換できます。
- まず、Workbookクラスを使用してExcelファイルをロードします。
- 次に、インデックス(ゼロベース)または名前のいずれかによって、ワークシートコレクションから変換するグラフがあるワークシートにアクセスします。
- 次に、チャートにアクセスして、チャートコレクションからインデックス(ゼロベース)で変換します。
- その後、ImageOrPrintOptions.setSaveFormatをSVGに設定します。
- 最後に、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);

JavaでExcelチャートをSVGに変換します。
チャートをエクスポートし、SVGをJavaのビューポートに合わせて拡大縮小する
XMLでは、viewBox属性は、SVGビューポートのコンテンツの位置と寸法を定義します。以下の手順に従って、ExcelワークシートからSVGに任意のグラフをエクスポートし、ビューポートに収まるように設定できます。
- まず、Workbookクラスを使用してExcelファイルをロードします。
- 次に、インデックス(ゼロベース)または名前のいずれかによって、ワークシートコレクションから変換するグラフがあるワークシートにアクセスします。
- 次に、チャートにアクセスして、チャートコレクションからインデックス(ゼロベース)でエクスポートします。
- ImageOrPrintOptions.setSaveFormatをSVGに設定します。
- その後、ImageOrPrintOptions.setSVGFitToViewPortをtrueに設定します。
- 最後に、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のビューポートに合わせてスケーリングします。
無料ライセンスを取得する
無料の一時ライセンスをリクエストして、評価制限なしでAPIを試してください。
結論
この記事では、JavaでグラフをExcelからSVGに変換する方法を学びました。プログラムでビューポートに収まるようにExcelチャートをSVGにエクスポートする方法も見てきました。さらに、ドキュメントを使用して、JavaAPI用のAspose.Cellsについて詳しく知ることができます。あいまいな点がありましたら、フォーラムまでお気軽にお問い合わせください。