Personalizza le impostazioni di globalizzazione per la tabella pivot

Possibili Scenari di Utilizzo

A volte si desidera personalizzare i testi Pivot Total, Sub Total, Grand Total, All Items, Multiple Items, Column Labels, Row Labels, Blank Values in base alle proprie esigenze. Aspose.Cells consente di personalizzare le impostazioni di globalizzazione della tabella pivot per gestire tali scenari. È inoltre possibile utilizzare questa funzionalità per modificare le etichette in altre lingue come arabo, hindi, polacco, ecc.

Personalizza le impostazioni di globalizzazione per la tabella pivot

Il seguente codice di esempio spiega come personalizzare le impostazioni di globalizzazione per la tabella pivot. Crea una classe CustomPivotTableGlobalizationSettings derivata da una classe di base PivotGlobalizationSettings e ne sovrascrive tutti i metodi necessari. Questi metodi restituiscono il testo personalizzato per i Pivot Total, Sub Total, Grand Total, All Items, Multiple Items, Column Labels, Row Labels, Blank Values. Quindi assegna l’oggetto di questa classe alla proprietà WorkbookSettings.GlobalizationSettings.PivotSettings. Il codice carica il file excel di origine che contiene la tabella pivot, aggiorna e calcola i dati e lo salva come file PDF di output. La seguente schermata mostra l’effetto del codice di esempio sul PDF di output. Come si può vedere nella schermata, diverse parti della tabella pivot hanno ora un testo personalizzato restituito dai metodi sovrascritti della classe PivotGlobalizationSettings.

todo:image_alt_text

Codice di Esempio

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
private class CustomPivotTableGlobalizationSettings : PivotGlobalizationSettings
{
//Gets the name of "Total" label in the PivotTable.
//You need to override this method when the PivotTable contains two or more PivotFields in the data area.
public override string GetTextOfTotal()
{
Console.WriteLine("---------GetPivotTotalName-------------");
return "AsposeGetPivotTotalName";
}
//Gets the name of "Grand Total" label in the PivotTable.
public override string GetTextOfGrandTotal()
{
Console.WriteLine("---------GetPivotGrandTotalName-------------");
return "AsposeGetPivotGrandTotalName";
}
//Gets the name of "(Multiple Items)" label in the PivotTable.
public override string GetTextOfMultipleItems()
{
Console.WriteLine("---------GetMultipleItemsName-------------");
return "AsposeGetMultipleItemsName";
}
//Gets the name of "(All)" label in the PivotTable.
public override string GetTextOfAll()
{
Console.WriteLine("---------GetAllName-------------");
return "AsposeGetAllName";
}
//Gets the name of "Column Labels" label in the PivotTable.
public override string GetTextOfColumnLabels()
{
Console.WriteLine("---------GetColumnLabelsOfPivotTable-------------");
return "AsposeGetColumnLabelsOfPivotTable";
}
//Gets the name of "Row Labels" label in the PivotTable.
public override string GetTextOfRowLabels()
{
Console.WriteLine("---------GetRowLabelsNameOfPivotTable-------------");
return "AsposeGetRowLabelsNameOfPivotTable";
}
//Gets the name of "(blank)" label in the PivotTable.
public override string GetTextOfEmptyData()
{
Console.WriteLine("---------GetEmptyDataName-------------");
return "(blank)AsposeGetEmptyDataName";
}
//Gets the name of PivotFieldSubtotalType type in the PivotTable.
public override string GetTextOfSubTotal(PivotFieldSubtotalType subTotalType)
{
Console.WriteLine("---------GetSubTotalName-------------");
switch (subTotalType)
{
case PivotFieldSubtotalType.Sum:
return "AsposeSum";//polish
case PivotFieldSubtotalType.Count:
return "AsposeCount";
case PivotFieldSubtotalType.Average:
return "AsposeAverage";
case PivotFieldSubtotalType.Max:
return "AsposeMax";
case PivotFieldSubtotalType.Min:
return "AsposeMin";
case PivotFieldSubtotalType.Product:
return "AsposeProduct";
case PivotFieldSubtotalType.CountNums:
return "AsposeCount";
case PivotFieldSubtotalType.Stdev:
return "AsposeStdDev";
case PivotFieldSubtotalType.Stdevp:
return "AsposeStdDevp";
case PivotFieldSubtotalType.Var:
return "AsposeVar";
case PivotFieldSubtotalType.Varp:
return "AsposeVarp";
}
return "AsposeSubTotalName";
}
}
public static void Run()
{
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
//Load your excel file
Workbook wb = new Workbook(dataDir + "samplePivotTableGlobalizationSettings.xlsx");
//Setting Custom Pivot Table Globalization Settings
wb.Settings.GlobalizationSettings.PivotSettings = new CustomPivotTableGlobalizationSettings();
//Hide first worksheet that contains the data of the pivot table
wb.Worksheets[0].IsVisible = false;
//Access second worksheet
Worksheet ws = wb.Worksheets[1];
//Access the pivot table, refresh and calculate its data
PivotTable pt = ws.PivotTables[0];
pt.RefreshDataFlag = true;
pt.RefreshData();
pt.CalculateData();
pt.RefreshDataFlag = false;
//Pdf save options - save entire worksheet on a single pdf page
PdfSaveOptions options = new PdfSaveOptions();
options.OnePagePerSheet = true;
//Save the output pdf
wb.Save(dataDir + "outputPivotTableGlobalizationSettings.pdf", options);
}