Utilisation de la classe GlobalizationSettings pour les étiquettes de sous-total personnalisées et une autre étiquette de graphique à secteurs

Scénarios d’utilisation possibles

Aspose.Cells Les API ont exposé leGlobalizationSettings classe afin de gérer les scénarios dans lesquels l’utilisateur souhaite utiliser des étiquettes personnalisées pour les sous-totaux dans une feuille de calcul. De plus, leGlobalizationSettings la classe peut également être utilisée pour modifier laAutre étiquette pour le graphique à secteurs lors du rendu de la feuille de calcul ou du graphique.

Introduction à la classe GlobalizationSettings

LeGlobalizationSettings propose actuellement les 3 méthodes suivantes qui peuvent être remplacées dans une classe personnalisée pour obtenir les étiquettes souhaitées pour les sous-totaux ou pour afficher le texte personnalisé pour leAutre étiquette d’un graphique à secteurs.

  1. GlobalizationSettings.getTotalName: Obtient le nom total de la fonction.
  2. GlobalizationSettings.getGrandTotalName : obtient le nom du total général de la fonction.
  3. GlobalizationSettings.getOtherName : obtient le nom des étiquettes “Autre” pour les graphiques à secteurs.

Étiquettes personnalisées pour les sous-totaux

LeGlobalizationSettingspeut être utilisée pour personnaliser les étiquettes de sous-total en remplaçant laGlobalizationSettings.getTotalName & GlobalizationSettings.getGrandTotalName méthodes comme démontré ci-dessus.

// 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();
}
}

Afin d’injecter des étiquettes personnalisées, il est nécessaire d’attribuer leWorkbookSettings.GlobalizationSettingsWorkbookSettings.GlobalizationSettings propriété à une instance deParamètres personnalisésclasse définie ci-dessus avant d’ajouter les sous-totaux à la feuille de calcul.

// 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");

Texte personnalisé pour une autre étiquette de graphique à secteurs

LeGlobalizationSettings la classe offre leobtenirAutreNom qui est utile pour attribuer une valeur personnalisée à l’étiquette “Autre” des graphiques à secteurs. L’extrait de code suivant définit une classe personnalisée et remplace leobtenirAutreNom pour obtenir une étiquette personnalisée basée sur la langue par défaut définie pour 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();
}
}

L’extrait de code suivant charge une feuille de calcul existante contenant un graphique à secteurs et affiche le graphique sous forme d’image tout en utilisant leParamètres personnalisésclasse créée ci-dessus.

// 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());

Voici l’image résultante lorsque les paramètres régionaux de la machine sont définis sur France. Comme vous pouvez le voir, le libellé “Autre” a été traduit en “Autre” tel que défini dansParamètres personnalisésclasse.

tâche : image_autre_texte