Använda klassen GlobalizationSettings för anpassade delsummaetiketter och andra cirkeletiketter
Möjliga användningsscenarier
Aspose.Cells API:er har avslöjatGlobaliseringsinställningar klass för att hantera de scenarier där användaren vill använda anpassade etiketter för delsummor i ett kalkylblad. DessutomGlobaliseringsinställningar klass kan också användas för att ändraÖvrig etikett för cirkeldiagrammet medan du renderar kalkylblad eller diagram.
Introduktion till GlobalizationSettings Class
DeGlobaliseringsinställningar class erbjuder för närvarande följande 3 metoder som kan åsidosättas i en anpassad klass för att få önskade etiketter för delsummorna eller för att återge anpassad text förÖvrig etikett för ett cirkeldiagram.
- GlobalizationSettings.getTotalName: Får det totala namnet på funktionen.
- GlobalizationSettings.getGrandTotalName: Får det totala namnet på funktionen.
- GlobalizationSettings.getOtherName: Hämtar namnet på “Andra”-etiketter för cirkeldiagram.
Anpassade etiketter för delsummor
DeGlobaliseringsinställningarklass kan användas för att anpassa etiketterna Delsumma genom att åsidosättaGlobalizationSettings.getTotalName & GlobalizationSettings.getGrandTotalName metoder som visats framöver.
// 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(); | |
} | |
} |
För att injicera anpassade etiketter måste du tilldelaWorkbookSettings.GlobalizationSettings egendom till en instans avAnpassade inställningarklass definierad ovan innan delsummorna läggs till i kalkylbladet.
// 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"); |
Anpassad text för annan etikett av cirkeldiagram
DeGlobaliseringsinställningar klass erbjudergetOtherName metod som är användbar för att ge etiketten “Övrigt” för cirkeldiagram ett anpassat värde. Följande kodavsnitt definierar en anpassad klass och åsidosättergetOtherName metod för att få en anpassad etikett baserad på standardspråk som är inställt för JVM.
// 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(); | |
} | |
} |
Följande utdrag laddar ett befintligt kalkylblad som innehåller ett cirkeldiagram och renderar diagrammet till en bild samtidigt som du använderAnpassade inställningarklass skapad ovan.
// 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()); |
Följande är den resulterande bilden när maskinens språk är inställt på Frankrike. Som du kan se att etiketten “Övrigt” har översatts till “Autre” enligt definitionen iAnpassade inställningarklass.