Использование класса GlobalizationSettings для пользовательских меток промежуточных итогов и других меток круговой диаграммы
Возможные сценарии использования
Aspose.Cells API-интерфейсы раскрылиНастройки глобализациикласс, чтобы иметь дело со сценариями, когда пользователь хочет использовать настраиваемые метки для промежуточных итогов в электронной таблице. Более того,Настройки глобализации класс также может быть использован для измененияДругой метка для круговой диаграммы при отображении рабочего листа или диаграммы.
Введение в класс GlobalizationSettings
Настройки глобализации класс в настоящее время предлагает следующие 3 метода, которые можно переопределить в пользовательском классе, чтобы получить желаемые метки для промежуточных итогов или отобразить пользовательский текст дляДругой метка круговой диаграммы.
- GlobalizationSettings.GetTotalName: получает полное имя функции.
- GlobalizationSettings.GetGrandTotalName: получает общее имя функции.
- 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()); |