Personalizza le impostazioni di globalizzazione per la tabella pivot con Node.js tramite C++
Possibili Scenari di Utilizzo
A volte si desidera personalizzare il testo Totale Pivot, Sub Totale, Totale Generale, Tutti gli Elementi, Elementi Multipli, Etichette di Colonna, Etichette di Riga, Valori Vuoti in base alle proprie esigenze. Aspose.Cells for Node.js via C++ consente di personalizzare le impostazioni di globalizzazione della tabella pivot per gestire tali scenari. È possibile utilizzare questa funzione anche per cambiare le etichette in altre lingue come arabo, hindi, polacco, ecc.
Personalizza le impostazioni di globalizzazione per la tabella pivot
Il codice di esempio seguente spiega come personalizzare le impostazioni di globalizzazione per la tabella pivot. Crea una classe CustomPivotTableGlobalizationSettings derivata da una classe base PivotGlobalizationSettings e ne sovrascrive tutti i metodi necessari. Questi metodi restituiscono il testo personalizzato per Totale Pivot, Sub Totale, Totale Generale, Tutti gli Elementi, Elementi Multipli, Etichette di Colonna, Etichette di Riga, Valori Vuoti. Quindi assegna l’oggetto di questa classe alla proprietà WorkbookSettings.getPivotSettings(). Il codice carica il file excel di origine contenente la tabella pivot, aggiorna e calcola i dati e li salva come file output PDF. Lo screenshot seguente mostra l’effetto del codice di esempio sul PDF di output. Come si può vedere nello screenshot, le diverse parti della tabella pivot ora hanno un testo personalizzato restituito dai metodi sovrascritti della classe PivotGlobalizationSettings.
Codice di Esempio
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);