Position, Größe und Designer des Diagramms manipulieren
Chart-Position und Größe
Manchmal möchten Sie die Position oder Größe des neuen oder vorhandenen Diagramms im Arbeitsblatt ändern. Aspose.Cells bietet die Chart.ChartObject-Eigenschaft, um dies zu erreichen. Sie können seine Unter-Eigenschaften verwenden, um das Diagramm mit neuen Höhe und Breite neu zu dimensionieren oder es mit neuen X- und Y-Koordinaten neu zu positionieren.
Steuerung der Diagrammposition und -größe
Um die Position (X, Y-Koordinaten) oder Größe (Höhe, Breite) des Diagramms zu ändern, verwenden Sie diese Eigenschaften:
Das folgende Beispiel erläutert die Verwendung der obigen APIs. Es lädt die vorhandene Arbeitsmappe, die ein Diagramm im ersten Arbeitsblatt enthält. Dann ändert es die Größe und Position des Diagramms mit Aspose.Cells neu.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
Workbook workbook = new Workbook(dataDir + "chart.xls"); | |
Worksheet worksheet = workbook.Worksheets[1]; | |
// Load the chart from source worksheet | |
Chart chart = worksheet.Charts[0]; | |
// Resize the chart | |
chart.ChartObject.Width = 400; | |
chart.ChartObject.Height = 300; | |
// Reposition the chart | |
chart.ChartObject.X = 250; | |
chart.ChartObject.Y = 150; | |
// Output the file | |
workbook.Save(dataDir + "chart.out.xls"); |
Manipulation von Designer-Diagrammen
Es gibt Zeiten, in denen Sie Diagramminhalte und -elemente in Designer-Vorlagendateien manipulieren oder ändern müssen. Aspose.Cells unterstützt die vollständige Manipulation von Designer-Diagramminhalten und -elementen. Die Daten, Diagramminhalte, Hintergrundbild und Formatierungen können mit Genauigkeit beibehalten werden.
Manipulation von Designer-Diagrammen in Vorlagendateien
Verwenden Sie die diagrammbezogene API, um Designer-Diagramme in Vorlagendateien zu manipulieren. Sie können beispielsweise die Eigenschaft Worksheet.Charts verwenden, um die vorhandene Diagrammsammlung in der Vorlagendatei zu erhalten.
Erstellen eines Diagramms
Das folgende Beispiel zeigt, wie man ein Pyramiden-Diagramm erstellt. Wir werden dieses Diagramm später bearbeiten.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Create directory if it is not already present. | |
bool IsExists = System.IO.Directory.Exists(dataDir); | |
if (!IsExists) | |
System.IO.Directory.CreateDirectory(dataDir); | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(); | |
// Adding a new worksheet to the Excel object | |
int sheetIndex = workbook.Worksheets.Add(); | |
// Obtaining the reference of the newly added worksheet by passing its sheet index | |
Worksheet worksheet = workbook.Worksheets[sheetIndex]; | |
// Adding sample values to cells | |
worksheet.Cells["A1"].PutValue(50); | |
worksheet.Cells["A2"].PutValue(100); | |
worksheet.Cells["A3"].PutValue(150); | |
worksheet.Cells["B1"].PutValue(4); | |
worksheet.Cells["B2"].PutValue(20); | |
worksheet.Cells["B3"].PutValue(50); | |
// Adding a chart to the worksheet | |
int chartIndex = worksheet.Charts.Add(Aspose.Cells.Charts.ChartType.Pyramid, 5, 0, 15, 5); | |
// Accessing the instance of the newly added chart | |
Aspose.Cells.Charts.Chart chart = worksheet.Charts[chartIndex]; | |
// Adding SeriesCollection (chart data source) to the chart ranging from "A1" cell to "B3" | |
chart.NSeries.Add("A1:B3", true); | |
// Saving the Excel file | |
workbook.Save(dataDir + "book1.out.xls"); |
Manipulation des Diagramms
Das folgende Beispiel zeigt, wie man das vorhandene Diagramm manipuliert. In diesem Beispiel ändern wir das oben erstellte Diagramm. In der generierten Ausgabe beachten Sie, dass das Datumslabel eines Datenpunkts auf ‘Vereinigtes Königreich, 30K’ gesetzt wurde.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Open the existing file. | |
Workbook workbook = new Workbook(dataDir + "piechart.xls"); | |
// Get the designer chart in the second sheet. | |
Worksheet sheet = workbook.Worksheets[1]; | |
Aspose.Cells.Charts.Chart chart = sheet.Charts[0]; | |
// Get the data labels in the data series of the third data point. | |
Aspose.Cells.Charts.DataLabels datalabels = chart.NSeries[0].Points[2].DataLabels; | |
// Change the text of the label. | |
datalabels.Text = "Unided Kingdom, 400K "; | |
// Save the excel file. | |
workbook.Save(dataDir + "output.xls"); |
Manipulation eines Liniendiagramms in der Designer-Vorlage
In diesem Beispiel werden wir ein Liniendiagramm manipulieren. Wir werden einige Datenreihen zu dem vorhandenen Diagramm hinzufügen und deren Linienfarben ändern.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Open the existing file. | |
Workbook workbook = new Workbook(dataDir + "Book1.xlsx"); | |
// Get the designer chart in the first worksheet. | |
Aspose.Cells.Charts.Chart chart = workbook.Worksheets[0].Charts[0]; | |
// Add the third data series to it. | |
chart.NSeries.Add("{60, 80, 10}", true); | |
// Add another data series (fourth) to it. | |
chart.NSeries.Add("{0.3, 0.7, 1.2}", true); | |
// Plot the fourth data series on the second axis. | |
chart.NSeries[3].PlotOnSecondAxis = true; | |
// Change the Border color of the second data series. | |
chart.NSeries[1].Border.Color = Color.Green; | |
// Change the Border color of the third data series. | |
chart.NSeries[2].Border.Color = Color.Red; | |
// Make the second value axis visible. | |
chart.SecondValueAxis.IsVisible = true; | |
// Save the excel file. | |
workbook.Save(dataDir + "output.xls"); |