Реализовать Cell.FormulaLocal аналогично Excel VBA Range.FormulaLocal
Возможные сценарии использования
Microsoft Формулы Excel могут иметь разные названия в разных языковых стандартах, регионах или языках. Например,СУММАфункция называетсяСУММА на немецком. Aspose.Cells не может работать с неанглийскими именами функций. В Microsoft Excel VBA естьRange.FormulaLocalсвойство, которое возвращает имя функции в соответствии с ее языком или регионом. Aspose.Cells также предоставляетCell.FormulaLocalимущество для этой цели. Однако это свойство будет работать только тогда, когда вы реализуетеGlobalizationSettings.GetLocalFunctionName (стандартное имя строки)метод.
Реализовать Cell.FormulaLocal аналогично Excel VBA Range.FormulaLocal
В следующем примере кода объясняется, как реализоватьGlobalizationSettings.GetLocalFunctionName (стандартное имя строки) метод. Метод возвращает локальное имя стандартной функции. Если стандартное имя функцииСУММА , он возвращаетсяUserFormulaLocal_SUM Вы можете изменить код в соответствии с вашими потребностями и вернуть правильные имена локальных функций, напримерСУММА являетсяСУММА на немецком иТЕКСТ являетсяТЕКСТпо-русски. См. также вывод на консоль примера кода, приведенного ниже, для справки.
Образец кода
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
using System; | |
using System.Collections.Generic; | |
using System.Linq; | |
using System.Text; | |
namespace Aspose.Cells.Examples.CSharp.WorkbookSettings | |
{ | |
class Implement_Cell_FormulaLocal_SimilarTo_Range_FormulaLocal | |
{ | |
//Implement GlobalizationSettings class | |
class GS : GlobalizationSettings | |
{ | |
public override string GetLocalFunctionName(string standardName) | |
{ | |
//Change the SUM function name as per your needs. | |
if (standardName == "SUM") | |
{ | |
return "UserFormulaLocal_SUM"; | |
} | |
//Change the AVERAGE function name as per your needs. | |
if (standardName == "AVERAGE") | |
{ | |
return "UserFormulaLocal_AVERAGE"; | |
} | |
return ""; | |
}//GetLocalFunctionName | |
}//GS:GlobalizationSettings | |
public static void Run() | |
{ | |
//Create workbook | |
Workbook wb = new Workbook(); | |
//Assign GlobalizationSettings implementation class | |
wb.Settings.GlobalizationSettings = new GS(); | |
//Access first worksheet | |
Worksheet ws = wb.Worksheets[0]; | |
//Access some cell | |
Cell cell = ws.Cells["C4"]; | |
//Assign SUM formula and print its FormulaLocal | |
cell.Formula = "SUM(A1:A2)"; | |
Console.WriteLine("Formula Local: " + cell.FormulaLocal); | |
//Assign AVERAGE formula and print its FormulaLocal | |
cell.Formula = "=AVERAGE(B1:B2, B5)"; | |
Console.WriteLine("Formula Local: " + cell.FormulaLocal); | |
} | |
} | |
} |
Консольный вывод
Formula Local: =UserFormulaLocal_SUM(A1:A2)
Formula Local: =UserFormulaLocal_AVERAGE(B1:B2,B5)