Implementera Cell.FormulaLocal liknande Excel VBA Range.FormulaLocal

Möjliga användningsscenario

Microsoft Excel-formler kan ha olika namn på olika platser eller språk. Till exempel kallas SUM-funktionen för SUMME på tyska. Aspose.Cells kan inte användas med icke-engelska funktionsnamn. I Microsoft Excel VBA finns det egenskapen Range.FormulaLocal som returnerar namnet på funktionen enligt dess språk eller plats. Aspose.Cells tillhandahåller också Cell.FormulaLocal egenskap för detta ändamål. Denna egenskap fungerar dock endast när du implementerar GlobalizationSettings.GetLocalFunctionName(string standardName) metoden.

Implementera Cell.FormulaLocal liknande Excel VBA Range.FormulaLocal

Följande exempelkod förklarar hur du implementerar GlobalizationSettings.GetLocalFunctionName(string standardName) metoden. Metoden returnerar det lokala namnet på den standardfunktionen. Om den standardfunktionen heter SUM, returnerar den UserFormulaLocal_SUM. Du kan ändra koden enligt dina behov och returnera de korrekta lokala funktionsnamnen t.ex. är SUM SUMME på tyska och TEXT ТЕКСТ på ryska. Se även utdata för exemplkoden nedan som referens.

Exempelkod

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

Konsoloutput

Formula Local: =UserFormulaLocal_SUM(A1:A2)

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