Diagrammdarstellung

Erstellen von Diagrammen

Aspose.Cells API-Unterstützung zum Erstellen einer Vielzahl von Excel-Diagrammen, wie unter dem Thema beschriebenErstellen und Anpassen von Excel-Diagrammen. Um die Verwendung von Aspose.Cells-APIs zum Rendern der Diagramme im Bild- und PDF-Format zu demonstrieren, erstellen wir ein Diagramm vom Typ Column gemäß dem folgenden Snippet.

     // Create a new workbook

	intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();

	// Get first worksheet which is created by default

	intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

	// Adding sample values to cells

	worksheet->GetICells()->GetObjectByIndex(new String("A1"))->PutValue(50);

	worksheet->GetICells()->GetObjectByIndex(new String("A2"))->PutValue(100);

	worksheet->GetICells()->GetObjectByIndex(new String("A3"))->PutValue(150);

	worksheet->GetICells()->GetObjectByIndex(new String("B1"))->PutValue(4);

	worksheet->GetICells()->GetObjectByIndex(new String("B2"))->PutValue(20);

	worksheet->GetICells()->GetObjectByIndex(new String("B3"))->PutValue(50);

	// Adding a chart to the worksheet

	int chartIndex = worksheet->GetICharts()->Add(Aspose::Cells::Charts::ChartType::ChartType_Column, 5, 0, 20, 8);

	// Accessing the instance of the newly added chart

	intrusive_ptr<Aspose::Cells::Charts::IChart> chart = worksheet->GetICharts()->GetObjectByIndex(chartIndex);

	// Adding SeriesCollection (chart data source) to the chart ranging from "A1" cell to "B3"

	chart->GetNISeries()->Add(new String("A1:B3"), true);

Diagramme rendern

Aspose.Cells-APIs unterstützen die Konvertierung der Excel-Diagramme in Bilder und PDF-Formate, ohne dass zusätzliche Tools oder Anwendungen erforderlich sind. Um die Renderingunterstützung bereitzustellen, hat die Chart-Klasse ToImage- und ToPdf-Methoden mit einer Vielzahl von Überladungen verfügbar gemacht, um den Anwendungsanforderungen am besten zu entsprechen.

Rendern von Diagrammen in Bilder

Die Chart.toImage-Methode verfügt über eine Reihe von Überladungen, um sowohl einfaches als auch erweitertes Rendern zu unterstützen. Wenn die Anforderung der Anwendung darin besteht, das Diagramm in seinen Standardabmessungen zu rendern, empfehlen wir Ihnen, die Chart.toImage-Methode wie folgt zu verwenden.

 // Output directory path

StringPtr outDir = new String("..\\Data\\02_OutputDirectory\\");

// Path of output image file

StringPtr outputChartImage = outDir->StringAppend(new String("out1image.png"));

// Saving the chart to image file

chart->ToImage(outputChartImage, Aspose::Cells::System::Drawing::Imaging::ImageFormat::GetPng());

Rendering-Diagramm bis PDF

Um das Diagramm in das PDF-Format zu rendern, haben die Aspose.Cells-APIs die Chart.ToPdf-Methode mit der Fähigkeit verfügbar gemacht, das Ergebnis PDF auf dem Datenträgerpfad oder Stream zu speichern.

 // Path of output pdf file

StringPtr outputPdfFile = outDir->StringAppend(new String("out1pdf.pdf"));

// Saving chart to PDF

chart->ToPdf(outputPdfFile);

Unterstützte Diagrammtypen für das Rendern

Es gibt einige Diagrammtypen, die derzeit nicht für das Rendern unterstützt werden. Solche Diagrammtypen enthaltenN im**Unterstützte ** Spalte der folgenden Tabelle.

Diagramm Typ Diagrammuntertyp Unterstützt
Spalte Spalte Y
Spalte gestapelt Y
Spalte 100 Prozent gestapelt Y
Column3DClustered Y
Column3DStacked Y
Column3D100PercentStacked Y
Spalte3D Y
Bar Bar Y
BarStacked Y
Balken 100 Prozent gestapelt Y
Bar3DClustered Y
Bar3DStacked Y
Bar3D100PercentStacked Y
Linie Linie Y
LineStacked Y
Zeile 100 Prozent gestapelt Y
LineWithDataMarkers Y
LineStackedWithDataMarkers Y
Line100PercentStackedWithDataMarkers Y
Line3D Y
Kuchen Kuchen Y
Pie3D Y
PiePie Y
Kuchenexplodiert Y
Pie3D Explodiert Y
PieBar Y
Streuen Streuen Y
ScatterConnectedByCurvesWithDataMarker Y
ScatterConnectedByCurvesWithoutDataMarker Y
ScatterConnectedByLinesWithDataMarker Y
ScatterConnectedByLinesWithoutDataMarker Y
Bereich Bereich Y
BereichStacked Y
Area100ProcentStacked Y
Bereich3D Y
Area3DStacked Y
Area3D100ProzentStacked Y
Krapfen Krapfen Y
Donut Explodiert Y
Radar Radar Y
RadarWithDataMarkers Y
Radargefüllt Y
Oberfläche Surface3D N
SurfaceWireframe3D N
Oberflächenkontur N
SurfaceContourWireframe N
Blase Blase Y
Bubble3D N
Aktie StockHighLowClose Y
StockOpenHighLowClose Y
StockVolumeHighLowClose Y
StockVolumeOpenHighLowClose Y
Zylinder Zylinder Y
Zylinder gestapelt Y
Zylinder 100 Prozent gestapelt Y
Zylindrischer Stab Y
ZylindrischBarStacked Y
ZylindrischBar100ProzentGestapelt Y
ZylindrischeSäule3D Y
Kegel Kegel Y
Kegelgestapelt Y
Kegel 100 Prozent gestapelt Y
Konische Stange Y
ConicalBarStacked Y
ConicalBar100ProcentStacked Y
KonischeSäule3D Y
Pyramide Pyramide Y
PyramidStacked Y
Pyramid100Prozent gestapelt Y
PyramidBar Y
PyramidBarStacked Y
PyramidBar100PercentStacked Y
PyramidColumn3D Y
BoxWhisker BoxWhisker Y
Trichter Trichter Y
ParetoLine ParetoLine Y
Sonnendurchbruch Sonnendurchbruch Y
Baumkarte Baumkarte Y
Wasserfall Wasserfall Y
Histogramm Histogramm Y
Karte Karte N