Implementar Cell.FormulaLocal similar a Excel VBA Range.FormulaLocal

Posibles escenarios de uso

Microsoft Las fórmulas de Excel pueden tener diferentes nombres en diferentes lugares, regiones o idiomas. Por ejemplo,SUMAla funcion se llamaSUMA en alemán. Aspose.Cells no puede funcionar con nombres de funciones que no estén en inglés. En Microsoft Excel VBA, hayRango.FormulaLocalpropiedad que devuelve el nombre de la función según su idioma o región. Aspose.Cells también proporcionaCell.FormulaLocalpropiedad para este fin. Sin embargo, esta propiedad solo funcionará cuando implementeGlobalizationSettings.GetLocalFunctionName(string nombre estándar)método.

Implementar Cell.FormulaLocal similar a Excel VBA Range.FormulaLocal

El siguiente código de ejemplo explica cómo implementarGlobalizationSettings.GetLocalFunctionName(string nombre estándar) método. El método devuelve el nombre local de la función estándar. Si el nombre de la función estándar esSUMA , vuelveUserFormulaLocal_SUM Puede cambiar el código según sus necesidades y devolver los nombres de funciones locales correctos, por ejemploSUMA esSUMA en alemán yTEXTO esТЕКСТen ruso. Consulte también la salida de la consola del código de muestra que se proporciona a continuación para obtener una referencia.

Código de muestra

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

Salida de consola

Formula Local: =UserFormulaLocal_SUM(A1:A2)

Formula Local: =UserFormulaLocal_AVERAGE(B1:B2,B5)