Anpassen der Globalisierungseinstellungen für den Pivot Tabellen

Mögliche Verwendungsszenarien

Manchmal möchten Sie den Pivot Total, Subtotal, Gesamtsumme, Alle Elemente, Mehrere Elemente, Spaltenbeschriftungen, Zeilenbeschriftungen, Leere Werte Text entsprechend Ihren Anforderungen anpassen. Aspose.Cells ermöglicht es Ihnen, die Globalisierungseinstellungen der Pivot-Tabelle anzupassen, um mit solchen Szenarien umzugehen. Sie können diese Funktion auch verwenden, um die Beschriftungen in andere Sprachen wie Arabisch, Hindi, Polnisch usw. zu ändern.

Anpassen der Globalisierungseinstellungen für den Pivot-Tabellen

Der folgende Beispielcode erklärt, wie die Globalisierungseinstellungen für die Pivot-Tabelle angepasst werden. Es erstellt eine Klasse CustomPivotTableGlobalizationSettings, die von einer Basisklasse GlobalizationSettings abgeleitet ist und alle erforderlichen Methoden überschreibt. Diese Methoden geben den angepassten Text für Pivot Total, Sub Total, Grand Total, All Items, Multiple Items, Column Labels, Row Labels, Blank Values zurück. Dann wird das Objekt dieser Klasse der Eigenschaft WorkbookSettings.GlobalizationSettings zugewiesen. Der Code lädt die Quelldatei Excel mit der Pivot-Tabelle, aktualisiert und berechnet ihre Daten und speichert sie als Ausgabedatei PDF. Der folgende Screenshot zeigt die Auswirkung des Beispielcodes auf die Ausgabedatei PDF. Wie im Screenshot zu sehen ist, haben verschiedene Teile der Pivot-Tabelle jetzt einen angepassten Text, der von den überschriebenen Methoden der Klasse GlobalizationSettings zurückgegeben wird.

todo:image_alt_text

Beispielcode

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
public class CustomizeGlobalizationSettingsforPivotTable {
class CustomPivotTableGlobalizationSettings extends GlobalizationSettings
{
//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 String getPivotTotalName()
{
System.out.println("---------GetPivotTotalName-------------");
return "AsposeGetPivotTotalName";
}
//Gets the name of "Grand Total" label in the PivotTable.
public String getPivotGrandTotalName()
{
System.out.println("---------GetPivotGrandTotalName-------------");
return "AsposeGetPivotGrandTotalName";
}
//Gets the name of "(Multiple Items)" label in the PivotTable.
public String getMultipleItemsName()
{
System.out.println("---------GetMultipleItemsName-------------");
return "AsposeGetMultipleItemsName";
}
//Gets the name of "(All)" label in the PivotTable.
public String getAllName()
{
System.out.println("---------GetAllName-------------");
return "AsposeGetAllName";
}
//Gets the name of "Column Labels" label in the PivotTable.
public String getColumnLabelsOfPivotTable()
{
System.out.println("---------GetColumnLabelsOfPivotTable-------------");
return "AsposeGetColumnLabelsOfPivotTable";
}
//Gets the name of "Row Labels" label in the PivotTable.
public String getRowLabelsNameOfPivotTable()
{
System.out.println("---------GetRowLabelsNameOfPivotTable-------------");
return "AsposeGetRowLabelsNameOfPivotTable";
}
//Gets the name of "(blank)" label in the PivotTable.
public String getEmptyDataName()
{
System.out.println("---------GetEmptyDataName-------------");
return "(blank)AsposeGetEmptyDataName";
}
//Gets the name of PivotFieldSubtotalType type in the PivotTable.
public String getSubTotalName(int subTotalType)
{
System.out.println("---------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.COUNT_NUMS:
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 void RunCustomizeGlobalizationSettingsforPivotTable() throws Exception
{
// The path to the documents directory.
String dataDir = Utils.getSharedDataDir(CustomizeGlobalizationSettingsforPivotTable.class) + "PivotTables/";
//Load your excel file
Workbook wb = new Workbook(dataDir + "samplePivotTableGlobalizationSettings.xlsx");
//Setting Custom Pivot Table Globalization Settings
wb.getSettings().setGlobalizationSettings(new CustomPivotTableGlobalizationSettings());
//Hide first worksheet that contains the data of the pivot table
wb.getWorksheets().get(0).setVisible(false);
//Access second worksheet
Worksheet ws = wb.getWorksheets().get(1);
//Access the pivot table, refresh and calculate its data
PivotTable 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
PdfSaveOptions options = new PdfSaveOptions();
options.setOnePagePerSheet(true);
//Save the output pdf
wb.save(dataDir + "outputPivotTableGlobalizationSettings.pdf", options);
}
public static void main(String[] args) throws Exception {
CustomizeGlobalizationSettingsforPivotTable pg = new CustomizeGlobalizationSettingsforPivotTable();
pg.RunCustomizeGlobalizationSettingsforPivotTable();
}