Globaleinstellungen für Pivot Tabellen mit Node.js über C++ anpassen
Mögliche Verwendungsszenarien
Manchmal möchten Sie den Text für Pivot Total, Sub Total, Grand Total, Alle Elemente, Mehrere Elemente, Spaltenüberschriften, Zeilenüberschriften, Leere Werte je nach Bedarf anpassen. Aspose.Cells for Node.js via C++ ermöglicht die Anpassung der Globalisierungseinstellungen der Pivot-Tabelle für solche Szenarien. Mit dieser Funktion können Sie die Labels auch in andere Sprachen wie Arabisch, Hindi, Polnisch usw. ändern.
Anpassen der Globalisierungseinstellungen für den Pivot-Tabellen
Der folgende Beispielcode zeigt, wie man die Globalisierungseinstellungen der Pivot-Tabelle anpasst. Es erstellt eine Klasse CustomPivotTableGlobalizationSettings, die von der Basisklasse PivotGlobalizationSettings abgeleitet ist und alle notwendigen Methoden überschreibt. Diese Methoden liefern den angepassten Text für Pivot Total, Sub Total, Grand Total, All Items, Multiple Items, Column Labels, Row Labels, Blank Values. Dann weist es das Objekt dieser Klasse der WorkbookSettings.getPivotSettings()-Eigenschaft zu. Der Code lädt die Quelldatei, die die Pivot-Tabelle enthält, aktualisiert und berechnet ihre Daten und speichert sie als Ausgabe-PDF. Das folgende Bildschirmfoto zeigt die Wirkung des Beispielcodes auf das Ausgabe-PDF. Wie im Screenshot zu sehen ist, haben verschiedene Teile der Pivot-Tabelle jetzt einen angepassten Text, der von den überschriebenen Methoden der PivotGlobalizationSettings-Klasse zurückgegeben wird.
Beispielcode
const path = require("path");
const AsposeCells = require("aspose.cells.node");
class CustomPivotTableGlobalizationSettings extends AsposeCells.PivotGlobalizationSettings {
// Gets the name of "Total" label in the PivotTable.
getTextOfTotal() {
console.log("---------GetPivotTotalName-------------");
return "AsposeGetPivotTotalName";
}
// Gets the name of "Grand Total" label in the PivotTable.
getTextOfGrandTotal() {
console.log("---------GetPivotGrandTotalName-------------");
return "AsposeGetPivotGrandTotalName";
}
// Gets the name of "(Multiple Items)" label in the PivotTable.
getTextOfMultipleItems() {
console.log("---------GetMultipleItemsName-------------");
return "AsposeGetMultipleItemsName";
}
// Gets the name of "(All)" label in the PivotTable.
getTextOfAll() {
console.log("---------GetAllName-------------");
return "AsposeGetAllName";
}
// Gets the name of "Column Labels" label in the PivotTable.
getTextOfColumnLabels() {
console.log("---------GetColumnLabelsOfPivotTable-------------");
return "AsposeGetColumnLabelsOfPivotTable";
}
// Gets the name of "Row Labels" label in the PivotTable.
getTextOfRowLabels() {
console.log("---------GetRowLabelsNameOfPivotTable-------------");
return "AsposeGetRowLabelsNameOfPivotTable";
}
// Gets the name of "(blank)" label in the PivotTable.
getTextOfEmptyData() {
console.log("---------GetEmptyDataName-------------");
return "(blank)AsposeGetEmptyDataName";
}
// Gets the name of PivotFieldSubtotalType type in the PivotTable.
getTextOfSubTotal(subTotalType) {
console.log("---------GetSubTotalName-------------");
switch (subTotalType) {
case AsposeCells.PivotFieldSubtotalType.Sum:
return "AsposeSum";
case AsposeCells.PivotFieldSubtotalType.Count:
return "AsposeCount";
case AsposeCells.PivotFieldSubtotalType.Average:
return "AsposeAverage";
case AsposeCells.PivotFieldSubtotalType.Max:
return "AsposeMax";
case AsposeCells.PivotFieldSubtotalType.Min:
return "AsposeMin";
case AsposeCells.PivotFieldSubtotalType.Product:
return "AsposeProduct";
case AsposeCells.PivotFieldSubtotalType.CountNums:
return "AsposeCount";
case AsposeCells.PivotFieldSubtotalType.Stdev:
return "AsposeStdDev";
case AsposeCells.PivotFieldSubtotalType.Stdevp:
return "AsposeStdDevp";
case AsposeCells.PivotFieldSubtotalType.Var:
return "AsposeVar";
case AsposeCells.PivotFieldSubtotalType.Varp:
return "AsposeVarp";
}
return "AsposeSubTotalName";
}
}
async function run() {
// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
// Load your excel file
const workbook = new AsposeCells.Workbook(path.join(dataDir, "samplePivotTableGlobalizationSettings.xlsx"));
workbook.getSettings().setGlobalizationSettings(new AsposeCells.GlobalizationSettings());
// Setting Custom Pivot Table Globalization Settings
workbook.getSettings().getGlobalizationSettings().setPivotSettings(new CustomPivotTableGlobalizationSettings());
// Hide first worksheet that contains the data of the pivot table
workbook.getWorksheets().get(0).setIsVisible(false);
// Access second worksheet
const ws = workbook.getWorksheets().get(1);
// Access the pivot table, refresh and calculate its data
const pt = ws.getPivotTables().get(0);
pt.setRefreshDataFlag(true);
pt.refreshData();
pt.calculateData();
pt.setRefreshDataFlag(false);
// Pdf save options - save entire worksheet on a single pdf page
const options = new AsposeCells.PdfSaveOptions();
options.setOnePagePerSheet(true);
// Save the output pdf
workbook.save(path.join(dataDir, "outputPivotTableGlobalizationSettings.pdf"), options);
}
run().catch(console.error);