Uso de la clase GlobalizationSettings para etiquetas de subtotales personalizadas y otras etiquetas de gráficos circulares
Posibles escenarios de uso
Aspose.Cells Las API han expuesto elConfiguración de globalización class para manejar los escenarios en los que el usuario desea utilizar etiquetas personalizadas para subtotales en una hoja de cálculo. Además, elConfiguración de globalización La clase también se puede utilizar para modificar laOtro etiqueta para el gráfico circular al renderizar la hoja de trabajo o el gráfico.
Introducción a la clase GlobalizationSettings
ÉlConfiguración de globalización Actualmente, la clase ofrece los siguientes 3 métodos que se pueden anular en una clase personalizada para obtener las etiquetas deseadas para los Subtotales o para representar texto personalizado para elOtro etiqueta de un gráfico circular.
- GlobalizationSettings.getTotalName: Obtiene el nombre total de la función.
- GlobalizationSettings.getGrandTotalName: Obtiene el nombre total general de la función.
- GlobalizationSettings.getOtherName: obtiene el nombre de las etiquetas “Otros” para los gráficos circulares.
Etiquetas personalizadas para subtotales
ÉlConfiguración de globalizaciónLa clase se puede utilizar para personalizar las etiquetas de subtotal anulando elGlobalizationSettings.getTotalName & GlobalizationSettings.getGrandTotalName métodos como se demuestra más adelante.
// 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(); | |
} | |
} |
Para poder inyectar etiquetas personalizadas, se requiere asignar elWorkbookSettings.GlobalizationSettings propiedad a una instancia de laAjustes personalizadosdefinida anteriormente antes de agregar los subtotales a la hoja de trabajo.
// 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"); |
Texto personalizado para otra etiqueta de gráfico circular
ÉlConfiguración de globalización clase ofrece laobtenerOtroNombre que es útil para dar a la etiqueta “Otro” de los gráficos circulares un valor personalizado. El siguiente fragmento define una clase personalizada y anula laobtenerOtroNombre para obtener una etiqueta personalizada basada en el conjunto de idiomas predeterminado para 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(); | |
} | |
} |
El siguiente fragmento carga una hoja de cálculo existente que contiene un gráfico circular y representa el gráfico en una imagen mientras utiliza elAjustes personalizadosclase creada anteriormente.
// 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()); |
continuación se muestra la imagen resultante cuando la configuración regional de la máquina se establece en Francia. Como puede ver, la etiqueta “Otro” se ha traducido a “Autre” como se define enAjustes personalizadosclase.