Position, Größe und Designer Diagramm mit Node.js über C++ manipulieren
Chart-Position und Größe
Manchmal möchten Sie die Position oder Größe des neuen oder vorhandenen Diagramms innerhalb des Arbeitsblatts ändern. Aspose.Cells bietet die Eigenschaft Chart.getChartObject() dafür. Sie können seine Teil-Eigenschaften verwenden, um das Diagramm mit neuer Höhe und Breite zu skalieren oder 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 erklärt die Verwendung der oben genannten APIs; es lädt die bestehende Arbeitsmappe, die ein Diagramm im ersten Arbeitsblatt enthält. Anschließend wird das Diagramm mit Aspose.Cells neu dimensioniert und neu positioniert.
const path = require("path");
const AsposeCells = require("aspose.cells.node");
// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
const filePath = path.join(dataDir, "chart.xls");
// Loads the workbook which contains the chart
const workbook = new AsposeCells.Workbook(filePath);
const worksheet = workbook.getWorksheets().get(1);
// Load the chart from source worksheet
const chart = worksheet.getCharts().get(0);
// Resize the chart
chart.getChartObject().setWidth(400);
chart.getChartObject().setHeight(300);
// Reposition the chart
chart.getChartObject().setX(250);
chart.getChartObject().setY(150);
// Output the file
workbook.save(path.join(dataDir, "chart.out.xls"));
Manipulation von Designer-Diagrammen
Es gibt Situationen, in denen Sie Designer-Template-Dateien manipulieren oder ändern müssen. Aspose.Cells unterstützt die vollständige Manipulation von Designer-Diagramminhalten und -Elementen. Daten, Diagramminhalte, Hintergrundbild und Formatierung können präzise bewahrt werden.
Manipulation von Designer-Diagrammen in Vorlagendateien
Um Designer-Diagramme in Vorlage-Dateien zu manipulieren, verwenden Sie die Diagramm-bezogenen APIs. Zum Beispiel können Sie die Eigenschaft Worksheet.charts verwenden, um die vorhandene Diagrammsammlung in der Vorlage zu erhalten.
Erstellen eines Diagramms
Das folgende Beispiel zeigt, wie man ein Pyramiden-Diagramm erstellt. Wir werden dieses Diagramm später bearbeiten.
const path = require("path");
const AsposeCells = require("aspose.cells.node");
// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
// Instantiating a Workbook object
const workbook = new AsposeCells.Workbook();
// Adding a new worksheet to the Excel object
const sheetIndex = workbook.getWorksheets().add();
// Obtaining the reference of the newly added worksheet by passing its sheet index
const worksheet = workbook.getWorksheets().get(sheetIndex);
// Adding sample values to cells
worksheet.getCells().get("A1").putValue(50);
worksheet.getCells().get("A2").putValue(100);
worksheet.getCells().get("A3").putValue(150);
worksheet.getCells().get("B1").putValue(4);
worksheet.getCells().get("B2").putValue(20);
worksheet.getCells().get("B3").putValue(50);
// Adding a chart to the worksheet
const chartIndex = worksheet.getCharts().add(AsposeCells.ChartType.Pyramid, 5, 0, 15, 5);
// Accessing the instance of the newly added chart
const chart = worksheet.getCharts().get(chartIndex);
// Adding SeriesCollection (chart data source) to the chart ranging from "A1" cell to "B3"
chart.getNSeries().add("A1:B3", true);
// Saving the Excel file
workbook.save(path.join(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.
const path = require("path");
const AsposeCells = require("aspose.cells.node");
// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
const filePath = path.join(dataDir, "piechart.xls");
// Loads the existing file.
const workbook = new AsposeCells.Workbook(filePath);
// Get the designer chart in the second sheet.
const sheet = workbook.getWorksheets().get(1);
const chart = sheet.getCharts().get(0);
// Get the data labels in the data series of the third data point.
const dataLabels = chart.getNSeries().get(0).getPoints().get(2).getDataLabels();
// Change the text of the label.
dataLabels.setText("Unided Kingdom, 400K ");
// Save the excel file.
workbook.save(path.join(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.
const path = require("path");
const AsposeCells = require("aspose.cells.node");
// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
// Open the existing file.
const workbook = new AsposeCells.Workbook(path.join(dataDir, "sample.xlsx"));
// Get the designer chart in the first worksheet.
const chart = workbook.getWorksheets().get(0).getCharts().get(0);
// Add the third data series to it.
chart.getNSeries().add("{60, 80, 10}", true);
// Add another data series (fourth) to it.
chart.getNSeries().add("{0.3, 0.7, 1.2}", true);
// Plot the fourth data series on the second axis.
chart.getNSeries().get(3).setPlotOnSecondAxis(true);
// Change the Border color of the second data series.
chart.getNSeries().get(1).getBorder().setColor(AsposeCells.Color.Green);
// Change the Border color of the third data series.
chart.getNSeries().get(2).getBorder().setColor(AsposeCells.Color.Red);
// Make the second value axis visible.
chart.getSecondValueAxis().setIsVisible(true);
// Save the excel file.
workbook.save(path.join(dataDir, "output.xls"));