Использование класса GlobalizationSettings для пользовательских меток промежуточных итогов и других меток круговой диаграммы

Возможные сценарии использования

Aspose.Cells API-интерфейсы раскрылиНастройки глобализациикласс, чтобы иметь дело со сценариями, когда пользователь хочет использовать настраиваемые метки для промежуточных итогов в электронной таблице. Более того,Настройки глобализации класс также может быть использован для измененияДругой метка для круговой диаграммы при отображении рабочего листа или диаграммы.

Введение в класс GlobalizationSettings

Настройки глобализации класс в настоящее время предлагает следующие 3 метода, которые можно переопределить в пользовательском классе, чтобы получить желаемые метки для промежуточных итогов или отобразить пользовательский текст дляДругой метка круговой диаграммы.

  1. GlobalizationSettings.GetTotalName: получает полное имя функции.
  2. GlobalizationSettings.GetGrandTotalName: получает общее имя функции.
  3. GlobalizationSettings.GetOtherName: получает имя метки «Другое» для круговых диаграмм.

Пользовательские метки для промежуточных итогов

Настройки глобализацииможно использовать для настройки меток промежуточных итогов путем переопределенияGlobalizationSettings.GetTotalName & GlobalizationSettings.GetGrandTotalNameметоды, как показано выше.

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

Чтобы внедрить пользовательские метки, необходимо назначитьWorkbookSettings.GlobalizationSettings свойство экземпляраПользовательские настройкикласс, определенный выше, прежде чем добавлять промежуточные итоги на лист.

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

Пользовательский текст для других меток круговой диаграммы

Настройки глобализации предложения классаGetOtherNameметод, который полезен для присвоения метке «Другое» круговых диаграмм пользовательского значения. Следующий фрагмент определяет пользовательский класс и переопределяетGetOtherNameметод для получения пользовательской метки на основе идентификатора культуры системы.

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

Следующий фрагмент загружает существующую электронную таблицу, содержащую круговую диаграмму, и визуализирует диаграмму в изображение, используяПользовательские настройкикласс, созданный выше.

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