Använda klassen GlobalizationSettings för anpassade delsummaetiketter och andra cirkeletiketter

Möjliga användningsscenarier

Aspose.Cells API:er har avslöjatGlobaliseringsinställningarklass 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.

  1. GlobalizationSettings.GetTotalName: Hämtar det totala namnet på funktionen.
  2. GlobalizationSettings.GetGrandTotalName: Hämtar det totala namnet på funktionen.
  3. 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.GetGrandTotalNamemetoder som visats framöver.

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

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

Anpassad text för annan etikett av cirkeldiagram

DeGlobaliseringsinställningar klasserbjudandenGetOtherNamemetod 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ätterGetOtherNamemetod för att få en anpassad etikett baserad på systemets kulturidentifierare.

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

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