Verwenden der GlobalizationSettings-Klasse für benutzerdefinierte Zwischensummenbeschriftungen und andere Beschriftungen von Kreisdiagrammen
Mögliche Nutzungsszenarien
Aspose.Cells APIs haben die ausgesetztGlobalisierungseinstellungen Klasse, um mit den Szenarien fertig zu werden, in denen der Benutzer benutzerdefinierte Beschriftungen für Zwischensummen in einer Tabelle verwenden möchte. Außerdem dieGlobalisierungseinstellungen Klasse kann auch verwendet werden, um die zu ändernAndere Bezeichnung für das Kreisdiagramm beim Rendern des Arbeitsblatts oder Diagramms.
Einführung in die GlobalizationSettings-Klasse
DasGlobalisierungseinstellungen Die Klasse bietet derzeit die folgenden 3 Methoden, die in einer benutzerdefinierten Klasse überschrieben werden können, um gewünschte Beschriftungen für die Zwischensummen zu erhalten oder benutzerdefinierten Text für die zu rendernAndere Beschriftung eines Tortendiagramms.
- GlobalizationSettings.getTotalName: Ruft den Gesamtnamen der Funktion ab.
- GlobalizationSettings.getGrandTotalName: Ruft den Gesamtsummennamen der Funktion ab.
- GlobalizationSettings.getOtherName: Ruft den Namen von „Anderen“ Beschriftungen für Kreisdiagramme ab.
Benutzerdefinierte Beschriftungen für Zwischensummen
DasGlobalisierungseinstellungen-Klasse kann zum Anpassen der Zwischensummenbeschriftungen verwendet werden, indem die Klasse überschrieben wirdGlobalizationSettings.getTotalName & GlobalizationSettings.getGrandTotalName Methoden wie oben gezeigt.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
public String getTotalName(int functionType) { | |
switch (functionType) { | |
case ConsolidationFunction.AVERAGE: | |
return "AVG"; | |
// Handle other cases | |
default: | |
return super.getTotalName(functionType); | |
} | |
} | |
public String getGrandTotalName(int functionType) { | |
switch (functionType) { | |
case ConsolidationFunction.AVERAGE: | |
return "GRAND AVG"; | |
// Handle other cases | |
default: | |
return super.getGrandTotalName(functionType); | |
} | |
} | |
public String getOtherName() | |
{ | |
String language = Locale.getDefault().getLanguage(); | |
System.out.println(language); | |
switch (language) | |
{ | |
case "en": | |
return "Other"; | |
case "fr": | |
return "Autre"; | |
case "de": | |
return "Andere"; | |
//Handle other cases as per requirement | |
default: | |
return super.getOtherName(); | |
} | |
} |
Um benutzerdefinierte Labels einzufügen, ist es erforderlich, die zuzuweisenWorkbookSettings.GlobalizationSettings Eigenschaft zu einer Instanz derBenutzerdefinierte Einstellungenoben definierte Klasse, bevor Sie die Zwischensummen zum Arbeitsblatt hinzufügen.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(CustomLabelsforSubtotals.class) + "articles/"; | |
// Loads an existing spreadsheet containing some data | |
Workbook book = new Workbook(dataDir + "sample.xlsx"); | |
// Assigns the GlobalizationSettings property of the WorkbookSettings | |
// class | |
// to the class created in first step | |
book.getSettings().setGlobalizationSettings(new CustomSettings()); | |
// Accesses the 1st worksheet from the collection which contains data | |
// Data resides in the cell range A2:B9 | |
Worksheet sheet = book.getWorksheets().get(0); | |
// Adds SubTotal of type Average to the worksheet | |
sheet.getCells().subtotal(CellArea.createCellArea("A2", "B9"), 0, ConsolidationFunction.AVERAGE, new int[] { 1 }); | |
// Calculates Formulas | |
book.calculateFormula(); | |
// Auto fits all columns | |
sheet.autoFitColumns(); | |
// Saves the workbook on disc | |
book.save(dataDir + "CustomLabelsforSubtotals_out.xlsx"); |
Benutzerdefinierter Text für andere Beschriftungen des Kreisdiagramms
DasGlobalisierungseinstellungen Klasse bietet diegetOtherName-Methode, die nützlich ist, um der Bezeichnung „Andere“ von Kreisdiagrammen einen benutzerdefinierten Wert zuzuweisen. Der folgende Codeausschnitt definiert eine benutzerdefinierte Klasse und überschreibt diegetOtherName-Methode, um eine benutzerdefinierte Bezeichnung basierend auf der für JVM festgelegten Standardsprache abzurufen.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
public String getTotalName(int functionType) { | |
switch (functionType) { | |
case ConsolidationFunction.AVERAGE: | |
return "AVG"; | |
// Handle other cases | |
default: | |
return super.getTotalName(functionType); | |
} | |
} | |
public String getGrandTotalName(int functionType) { | |
switch (functionType) { | |
case ConsolidationFunction.AVERAGE: | |
return "GRAND AVG"; | |
// Handle other cases | |
default: | |
return super.getGrandTotalName(functionType); | |
} | |
} | |
public String getOtherName() | |
{ | |
String language = Locale.getDefault().getLanguage(); | |
System.out.println(language); | |
switch (language) | |
{ | |
case "en": | |
return "Other"; | |
case "fr": | |
return "Autre"; | |
case "de": | |
return "Andere"; | |
//Handle other cases as per requirement | |
default: | |
return super.getOtherName(); | |
} | |
} |
Das folgende Snippet lädt eine vorhandene Tabelle, die ein Kreisdiagramm enthält, und rendert das Diagramm in ein Bild, während es verwendet wirdBenutzerdefinierte Einstellungenoben erstellte Klasse.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(CustomTextforOtherLabelofPieChart.class) + "articles/"; | |
//Loads an existing spreadsheet containing a pie chart | |
Workbook book = new Workbook(dataDir + "sample.xlsx"); | |
//Assigns the GlobalizationSettings property of the WorkbookSettings class | |
//to the class created in first step | |
book.getSettings().setGlobalizationSettings(new CustomSettings()); | |
//Accesses the 1st worksheet from the collection which contains pie chart | |
Worksheet sheet = book.getWorksheets().get(0); | |
//Accesses the 1st chart from the collection | |
Chart chart = sheet.getCharts().get(0); | |
//Refreshes the chart | |
chart.calculate(); | |
//Renders the chart to image | |
chart.toImage(dataDir + "CustomTextforOtherLabelofPieChart_out.png", new ImageOrPrintOptions()); |
Nachfolgend sehen Sie das resultierende Bild, wenn das Gebietsschema des Computers auf Frankreich eingestellt ist. Wie Sie sehen können, wurde das Label „Other“ in „Autre“ übersetzt, wie in definiertBenutzerdefinierte EinstellungenKlasse.