Rendering del grafico

Creazione di grafici

Le API di Aspose.Cells supportano la creazione di una varieta di grafici di Excel come dettagliato nell’argomento Creazione e personalizzazione dei grafici di Excel. Al fine di dimostrare l’utilizzo delle API di Aspose.Cells per rendere i grafici in formato immagine e PDF, creeremo un grafico di tipo Colonna come nel seguente frammento di codice.

// 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.");

Rendering di grafici

Le API di Aspose.Cells supportano la conversione dei grafici di Excel in immagini e formati PDF senza richiedere alcun altro strumento o applicazione aggiuntiva. Al fine di fornire supporto per il rendering, la classe Chart ha esposto i metodi toImage & toPdf con una varietà di sovraccarichi per soddisfare al meglio le esigenze dell’applicazione.

Rendering di grafici in immagini

Il metodo Chart.toImage ha una varietà di sovraccarichi per supportare un rendering semplice e avanzato. Se il requisito dell’applicazione è di rendere il grafico nelle sue dimensioni predefinite, ti consigliamo di utilizzare il metodo Chart.toImage come segue.

// 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());

È anche possibile rendere i grafici in immagini con impostazioni avanzate. Le API di Aspose.Cells hanno esposto una versione sovrasatura del metodo Chart.toImage che potrebbe accettare un’istanza di ImageOrPrintOptions consentendo di specificare parametri come risoluzione, suggerimenti per il rendering, formato dell’immagine e così via.

// 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);

Rendering del grafico in PDF

Al fine di rendere il grafico in formato PDF, le API di Aspose.Cells hanno esposto il metodo Chart.toPdf con la capacità di memorizzare il PDF risultante nel percorso disco o in un’istanza di OutputStream.

// 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");

Tipi di grafico supportati per il rendering

Ci sono alcuni tipi di grafico attualmente non supportati per il rendering. Tali tipi di grafico contengono N nella colonna Supportato della tabella sottostante.

Tipo grafico Sottotipo grafico Supportato
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

Argomenti avanzati