Implementieren Sie Cell.FormulaLocal ähnlich wie Excel VBA Range.FormulaLocal

Mögliche Verwendungsszenarien

Microsoft Excel-Formeln können in verschiedenen Regionen oder Sprachen unterschiedliche Namen haben. Zum Beispiel wird die SUM-Funktion auf Deutsch als SUMME bezeichnet. Aspose.Cells kann nicht mit Funktionen, die nicht in englischer Sprache angegeben sind, arbeiten. In Microsoft Excel VBA gibt es die Range.FormulaLocal-Eigenschaft, die den Namen der Funktion je nach Sprache oder Region zurückgibt. Aspose.Cells bietet auch die Eigenschaft Cell.FormulaLocal für diesen Zweck. Diese Eigenschaft funktioniert jedoch nur, wenn Sie die GlobalizationSettings.GetLocalFunctionName(string standardName)-Methode implementiert haben.

Implementieren Sie Cell.FormulaLocal ähnlich wie Excel VBA Range.FormulaLocal

Der folgende Beispielcode erläutert die Implementierung der Methode GlobalizationSettings.GetLocalFunctionName(string standardName). Die Methode gibt den lokalen Namen der Standardfunktion zurück. Wenn der Standardfunktionsname SUM ist, wird UserFormulaLocal_SUM zurückgegeben. Sie können den Code entsprechend Ihren Bedürfnissen ändern und die korrekten lokalen Funktionsnamen zurückgeben, z.B. ist SUM auf Deutsch SUMME und TEXT im Russischen ТЕКСТ. Bitte beachten Sie auch die Konsolenausgabe des untenstehenden Beispielcodes zur Referenz.

Beispielcode

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

Konsolenausgabe

Formula Local: =UserFormulaLocal_SUM(A1:A2)

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