Verwenden der GlobalizationSettings-Klasse für benutzerdefinierte Zwischensummenbeschriftungen und andere Beschriftungen von Kreisdiagrammen

Mögliche Nutzungsszenarien

Aspose.Cells APIs haben die ausgesetztGlobalisierungseinstellungenKlasse, 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.

  1. GlobalizationSettings.GetTotalName: Ruft den Gesamtnamen der Funktion ab.
  2. GlobalizationSettings.GetGrandTotalName: Ruft den Gesamtsummennamen der Funktion ab.
  3. 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.GetGrandTotalNameMethoden wie oben gezeigt.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// Defines a custom class derived from GlobalizationSettings class
class CustomSettings : GlobalizationSettings
{
// Overrides the GetTotalName method
public override string GetTotalName(ConsolidationFunction functionType)
{
// Checks the function type used to add the subtotals
switch (functionType)
{
// Returns custom value based on the function type used to add the subtotals
case ConsolidationFunction.Average:
return "AVG";
// Handle other cases as per requirement
default:
return base.GetTotalName(functionType);
}
}
// Overrides the GetGrandTotalName method
public override string GetGrandTotalName(ConsolidationFunction functionType)
{
// Checks the function type used to add the subtotals
switch (functionType)
{
// Returns custom value based on the function type used to add the subtotals
case ConsolidationFunction.Average:
return "GRD AVG";
// Handle other cases as per requirement
default:
return base.GetGrandTotalName(functionType);
}
}
}

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-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// 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.Settings.GlobalizationSettings = new CustomSettings();
// Accesses the 1st worksheet from the collection which contains data resides in the cell range A2:B9
Worksheet sheet = book.Worksheets[0];
// Adds Subtotal of type Average to the worksheet
sheet.Cells.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 + "output_out.xlsx");

Benutzerdefinierter Text für andere Beschriftungen des Kreisdiagramms

DasGlobalisierungseinstellungen Klasse AngeboteGetOtherNameMethode, 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 dem Kulturbezeichner des Systems abzurufen.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// Defines a custom class inherited by GlobalizationSettings class
class GlobalCustomSettings : ChartGlobalizationSettings
{
// Overrides the GetOtherName method
public override string GetOtherName()
{
// Gets the culture identifier for the current system
int lcid = System.Globalization.CultureInfo.CurrentCulture.LCID;
switch (lcid)
{
// Handles case for English
case 1033:
return "Other";
// Handles case for French
case 1036:
return "Autre";
// Handles case for German
case 1031:
return "Andere";
// Handle other cases
default:
return base.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-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// 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.Settings.GlobalizationSettings.ChartSettings = new GlobalCustomSettings();
// Accesses the 1st worksheet from the collection which contains pie chart
Worksheet sheet = book.Worksheets[0];
// Accesses the 1st chart from the collection
Chart chart = sheet.Charts[0];
// Refreshes the chart
chart.Calculate();
// Renders the chart to image
chart.ToImage(dataDir + "output_out.png", new ImageOrPrintOptions());