チャートのレンダリング

チャートの作成

Aspose.CellsのAPIは、Creating & Customizing Excel Chartsで詳細に説明されているように、さまざまな種類のExcelチャートの作成をサポートしています。Aspose.CellsのAPIを使用してチャートを画像やPDF形式にレンダリングする方法を示すために、以下のスニペットに従って列のタイプのチャートを作成します。

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getSharedDataDir(CreateChart.class) + "charts/";
// Instantiating a Workbook object
Workbook workbook = new Workbook();
// Obtaining the reference of the first worksheet
WorksheetCollection worksheets = workbook.getWorksheets();
Worksheet sheet = worksheets.get(0);
// Adding some sample value to cells
Cells cells = sheet.getCells();
Cell cell = cells.get("A1");
cell.setValue(50);
cell = cells.get("A2");
cell.setValue(100);
cell = cells.get("A3");
cell.setValue(150);
cell = cells.get("B1");
cell.setValue(4);
cell = cells.get("B2");
cell.setValue(20);
cell = cells.get("B3");
cell.setValue(50);
ChartCollection charts = sheet.getCharts();
// Adding a chart to the worksheet
int chartIndex = charts.add(ChartType.PYRAMID, 5, 0, 15, 5);
Chart chart = charts.get(chartIndex);
// Adding NSeries (chart data source) to the chart ranging from "A1"
// cell to "B3"
SeriesCollection serieses = chart.getNSeries();
serieses.add("A1:B3", true);
// Saving the Excel file
workbook.save(dataDir + "CreateChart_out.xls");
// Print message
System.out.println("Workbook with chart is successfully created.");

チャートのレンダリング

Aspose.CellsのAPIは、追加のツールやアプリケーションを必要とせずにExcelチャートを画像やPDF形式に変換することをサポートしています。レンダリングのサポートを提供するために、Chartクラスはさまざまなオーバーロードを持つtoImageおよびtoPdfメソッドを公開しています。これにより、アプリケーションの要件に最適なオーバーロードを使用できます。

画像へのチャートのレンダリング

Chart.toImageメソッドは、シンプルな操作から高度なレンダリングまでをサポートするさまざまなオーバーロードを備えています。チャートをデフォルトのサイズでレンダリングする必要がある場合は、次のようにChart.toImageメソッドを使用することをお勧めします。

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
//Converting chart to image
chart.toImage(dataDir + "chart.emf", ImageFormat.getEmf());

また、高度な設定でチャートを画像にレンダリングすることも可能です。Aspose.CellsのAPIでは、インスタンスを受け入れて解像度、レンダリングヒント、画像フォーマットなどのパラメータを指定できるChart.toImageメソッドのオーバーロードバージョンを公開しています。

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getSharedDataDir(CreateChart.class) + "charts/";
// Instantiating a Workbook object
Workbook workbook = new Workbook();
// Obtaining the reference of the first worksheet
WorksheetCollection worksheets = workbook.getWorksheets();
Worksheet sheet = worksheets.get(0);
ChartCollection charts = sheet.getCharts();
// Adding a chart to the worksheet
int chartIndex = charts.add(ChartType.PYRAMID, 5, 0, 15, 5);
Chart chart = charts.get(chartIndex);
// Create an instance of ImageOrPrintOptions and set a few properties
ImageOrPrintOptions options = new ImageOrPrintOptions();
options.setVerticalResolution(300);
options.setHorizontalResolution(300);
options.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
options.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
// Convert chart to image with additional settings
chart.toImage(dataDir + "chart.png", options);

PDFへのチャートのレンダリング

チャートをPDF形式にレンダリングするために、Aspose.CellsのAPIはディスクパスに結果のPDFを保存する能力を持つChart.toPdfメソッドを公開しています。

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
//Converting chart to PDF
chart.toPdf(dataDir + "chart.pdf");

レンダリングにサポートされているチャートの種類

現在レンダリングをサポートしていないチャートのタイプもいくつかあります。そのようなチャートタイプには、以下の表のSupported列にNが含まれています。

チャートタイプ チャートサブタイプ サポートされているかどうか
Column Column Y
  ColumnStacked Y
  Column100PercentStacked Y
  Column3DClustered Y
  Column3DStacked Y
  Column3D100PercentStacked Y
  Column3D Y
Bar Bar Y
  BarStacked Y
  Bar100PercentStacked Y
  Bar3DClustered Y
  Bar3DStacked Y
  Bar3D100PercentStacked Y
Line Line Y
  LineStacked Y
  Line100PercentStacked Y
  LineWithDataMarkers Y
  LineStackedWithDataMarkers Y
  Line100PercentStackedWithDataMarkers Y
  Line3D Y
Pie Pie Y
  Pie3D Y
  PiePie Y
  PieExploded Y
  Pie3DExploded Y
  PieBar Y
Scatter Scatter Y
  ScatterConnectedByCurvesWithDataMarker Y
  ScatterConnectedByCurvesWithoutDataMarker Y
  ScatterConnectedByLinesWithDataMarker Y
  ScatterConnectedByLinesWithoutDataMarker Y
Area Area Y
  AreaStacked Y
  Area100PercentStacked Y
  Area3D Y
  Area3DStacked Y
  Area3D100PercentStacked Y
Doughnut Doughnut Y
  DoughnutExploded Y
Radar Radar Y
  RadarWithDataMarkers Y
  RadarFilled Y
Surface Surface3D N
  SurfaceWireframe3D N
  SurfaceContour N
  SurfaceContourWireframe N
Bubble Bubble Y
  Bubble3D N
Stock StockHighLowClose Y
  StockOpenHighLowClose Y
  StockVolumeHighLowClose Y
  StockVolumeOpenHighLowClose Y
Cylinder Cylinder Y
  CylinderStacked Y
  Cylinder100PercentStacked Y
  CylindricalBar Y
  CylindricalBarStacked Y
  CylindricalBar100PercentStacked Y
  CylindricalColumn3D Y
Cone Cone Y
  ConeStacked Y
  Cone100PercentStacked Y
  ConicalBar Y
  ConicalBarStacked Y
  ConicalBar100PercentStacked Y
  ConicalColumn3D Y
Pyramid Pyramid Y
  PyramidStacked Y
  Pyramid100PercentStacked Y
  PyramidBar Y
  PyramidBarStacked Y
  PyramidBar100PercentStacked Y
  PyramidColumn3D Y
BoxWhisker BoxWhisker Y
Funnel Funnel Y
ParetoLine ParetoLine Y
Sunburst Sunburst Y
Treemap Treemap Y
Waterfall Waterfall Y
Histogram Histogram Y
Map Map N

高度なトピック