Erstellen und Anpassen von Diagrammen

Mögliche Verwendungsszenarien

Ein Diagramm ist eine visuelle Darstellung von Informationen. Aspose.Cells ermöglicht es Entwicklern, Informationen in Diagrammen genauso anzuzeigen wie Microsoft Excel. Die Präsentation von Informationen in Diagrammen ist für Entscheidungsträger immer hilfreich, um schnelle und rechtzeitige Entscheidungen zu treffen. Mit Diagrammen lassen sich Vergleiche, Muster und Trends in Daten schnell erkennen, im Gegensatz zu reinen Zahlen. Das Erstellen von Diagrammen zur Laufzeit basierend auf den Daten in einer Tabellenkalkulation ist eine der nützlichen Funktionen von Aspose.Cells. Aspose.Cells unterstützt die Erstellung sowohl von Standard- als auch von benutzerdefinierten Diagrammen. Im Folgenden werden einige Beispiele mit Beispieldateien gezeigt, wie man mit der Aspose.Cells-API einige gängige MS-Excel-Diagrammtypen erstellt.

Pyramiden-Diagramm

Wenn der Beispielcode ausgeführt wird, wird dem Arbeitsblatt ein Pyramiden-Diagramm hinzugefügt. Bitte beachten Sie die Ausgabedatei in Excel des folgenden Beispielcodes.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
Aspose::Cells::Startup();
// Output directory path
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
// Path of output excel file
U16String outputChartTypePyramid = outDir + u"outputChartTypePyramid.xlsx";
// Create a new workbook
Workbook workbook;
// Get first worksheet which is created by default
Worksheet worksheet = workbook.GetWorksheets().Get(0);
// Adding sample values to cells
worksheet.GetCells().Get(u"A1").PutValue(50);
worksheet.GetCells().Get(u"A2").PutValue(100);
worksheet.GetCells().Get(u"A3").PutValue(150);
worksheet.GetCells().Get(u"B1").PutValue(4);
worksheet.GetCells().Get(u"B2").PutValue(20);
worksheet.GetCells().Get(u"B3").PutValue(50);
// Adding a chart to the worksheet
int chartIndex = worksheet.GetCharts().Add(Aspose::Cells::Charts::ChartType::Pyramid, 5, 0, 20, 8);
// Accessing the instance of the newly added chart
Chart chart = worksheet.GetCharts().Get(chartIndex);
// Adding SeriesCollection (chart data source) to the chart ranging from "A1" cell to "B3"
chart.GetNSeries().Add(u"A1:B3", true);
// Saving the Excel file
workbook.Save(outputChartTypePyramid);
Aspose::Cells::Cleanup();

Linien-Diagramm

In obigem Beispiel wird durch einfaches Ändern von ChartType in ChartType::Line ein Linien-Diagramm erstellt. Der vollständige Quellcode wird unten bereitgestellt. Bei Ausführung des Codes wird dem Arbeitsblatt ein Linien-Diagramm hinzugefügt. Bitte beachten Sie die Ausgabedatei in Excel des folgenden Beispielcodes.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
Aspose::Cells::Startup();
// Output directory path
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
// Path of output excel file
U16String outputChartTypeLine = testPath + u"outputChartTypeLine.xlsx";
// Create a new workbook
Workbook workbook;
// Get first worksheet which is created by default
Worksheet worksheet = workbook.GetWorksheets().Get(0);
// Adding sample values to cells
worksheet.GetCells().Get(u"A1").PutValue(50);
worksheet.GetCells().Get(u"A2").PutValue(100);
worksheet.GetCells().Get(u"A3").PutValue(150);
worksheet.GetCells().Get(u"B1").PutValue(4);
worksheet.GetCells().Get(u"B2").PutValue(20);
worksheet.GetCells().Get(u"B3").PutValue(50);
// Adding a chart to the worksheet
int chartIndex = worksheet.GetCharts().Add(Aspose::Cells::Charts::ChartType::Line, 5, 0, 20, 8);
// Accessing the instance of the newly added chart
Chart chart = worksheet.GetCharts().Get(chartIndex);
// Adding SeriesCollection (chart data source) to the chart ranging from "A1" cell to "B3"
chart.GetNSeries().Add(u"A1:B3", true);
// Saving the Excel file
workbook.Save(outputChartTypeLine);
Aspose::Cells::Cleanup();

Bubble-Diagramm

Um ein Bubble-Diagramm zu erstellen, muss ChartType auf ChartType_Bubble gesetzt werden und einige zusätzliche Eigenschaften wie SetBubbleSizes & SetXValues müssen entsprechend festgelegt werden. Beim Ausführen des folgenden Codes wird dem Arbeitsblatt ein Bubble-Diagramm hinzugefügt. Bitte beachten Sie die Ausgabedatei in Excel des folgenden Beispielcodes.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
Aspose::Cells::Startup();
// Output directory path
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
// Path of output excel file
U16String outputChartTypeBubble = outDir + u"outputChartTypeBubble.xlsx";
// Create a new workbook
Workbook workbook;
// Get first worksheet which is created by default
Worksheet worksheet = workbook.GetWorksheets().Get(0);
// Fill in data for chart's series
// Y Values
worksheet.GetCells().Get(0, 0).PutValue(u"Y Values");
worksheet.GetCells().Get(0, 1).PutValue(2);
worksheet.GetCells().Get(0, 2).PutValue(4);
worksheet.GetCells().Get(0, 3).PutValue(6);
// Bubble Size
worksheet.GetCells().Get(1, 0).PutValue(u"Bubble Size");
worksheet.GetCells().Get(1, 1).PutValue(2);
worksheet.GetCells().Get(1, 2).PutValue(3);
worksheet.GetCells().Get(1, 3).PutValue(1);
// X Values
worksheet.GetCells().Get(2, 0).PutValue(u"X Values");
worksheet.GetCells().Get(2, 1).PutValue(1);
worksheet.GetCells().Get(2, 2).PutValue(2);
worksheet.GetCells().Get(2, 3).PutValue(3);
// Set first column width
worksheet.GetCells().SetColumnWidth(0, 12);
// Adding a chart to the worksheet
int chartIndex = worksheet.GetCharts().Add(Aspose::Cells::Charts::ChartType::Bubble, 5, 0, 20, 8);
// Accessing the instance of the newly added chart
Chart chart = worksheet.GetCharts().Get(chartIndex);
// Adding SeriesCollection (chart data source) to the chart ranging from B1 to D1
chart.GetNSeries().Add(u"B1:D1", true);
// Set bubble sizes
chart.GetNSeries().Get(0).SetBubbleSizes(u"B2:D2");
// Set X axis values
chart.GetNSeries().Get(0).SetXValues(u"B3:D3");
// Set Y axis values
chart.GetNSeries().Get(0).SetValues(u"B1:D1");
// Saving the Excel file
workbook.Save(outputChartTypeBubble);
Aspose::Cells::Cleanup();

Erstellen von benutzerdefinierten Diagrammen

Bisher haben wir bei der Diskussion über Diagramme Standarddiagramme betrachtet, die über ihre eigenen standardmäßigen Formatierungseinstellungen verfügen. Wir definieren lediglich die Datenquelle, setzen einige Eigenschaften und das Diagramm wird mit seinen Standardformatierungseinstellungen erstellt. Aber Aspose.Cells-APIs unterstützt auch die Erstellung benutzerdefinierter Diagramme, die es Entwicklern ermöglichen, Diagramme mit ihren eigenen Formatierungseinstellungen zu erstellen. Entwickler können zur Laufzeit benutzerdefinierte Diagramme mit Aspose.Cells erstellen.

Ein Diagramm besteht aus einer Datenreihe. Beim Erstellen eines benutzerdefinierten Diagramms haben Entwickler die Freiheit, verschiedene Arten von Diagrammen für verschiedene Datenreihen zu verwenden.

Der folgende Beispielcode zeigt, wie benutzerdefinierte Diagramme erstellt werden. In diesem Beispiel verwenden wir ein Säulendiagramm für die erste Datenserie und ein Liniendiagramm für die zweite Serie. Das Ergebnis ist, dass wir ein Säulendiagramm zusammen mit einem Liniendiagramm zum Arbeitsblatt hinzufügen. Bitte sehen Sie die Ausgabedatei Excel des folgenden Beispielcodes.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
Aspose::Cells::Startup();
// Output directory path
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
// Path of output excel file
U16String outputChartTypeCustom = outDir + u"outputChartTypeCustom.xlsx";
// Create a new workbook
Workbook workbook;
// Get first worksheet which is created by default
Worksheet worksheet = workbook.GetWorksheets().Get(0);
// Adding sample values to cells
worksheet.GetCells().Get(u"A1").PutValue(50);
worksheet.GetCells().Get(u"A2").PutValue(100);
worksheet.GetCells().Get(u"A3").PutValue(150);
worksheet.GetCells().Get(u"A4").PutValue(110);
worksheet.GetCells().Get(u"B1").PutValue(260);
worksheet.GetCells().Get(u"B2").PutValue(12);
worksheet.GetCells().Get(u"B3").PutValue(50);
worksheet.GetCells().Get(u"B4").PutValue(100);
// Adding a chart to the worksheet
int chartIndex = worksheet.GetCharts().Add(Aspose::Cells::Charts::ChartType::Column, 5, 0, 20, 8);
// Accessing the instance of the newly added chart
Chart chart = worksheet.GetCharts().Get(chartIndex);
// Adding SeriesCollection (chart data source) to the chart ranging from A1 to B4
chart.GetNSeries().Add(u"A1:B4", true);
// Setting the chart type of 2nd NSeries to display as line chart
chart.GetNSeries().Get(1).SetType(Aspose::Cells::Charts::ChartType::Line);
// Saving the Excel file
workbook.Save(outputChartTypeCustom);
Aspose::Cells::Cleanup();