Implementera Cell.FormulaLocal liknande Excel VBA Range.FormulaLocal

Möjliga användningsscenarier

Microsoft Excel-formler kan ha olika namn på olika platser eller regioner eller språk. Till exempel,BELOPPfunktionen kallasSUMMAityskAspose.Cells kan inte fungera med icke-engelska funktionsnamn. IMicrosoft Excel VBA, det finns* *a*Range.FormulaLocal*egenskap som returnerar namnet på funktionen enligt dess språk eller region. Aspose.Cells tillhandahåller ocksåCell.FormulaLocalegendom för detta ändamål. Den här egenskapen kommer dock bara att fungera när du ska implementeraGlobalizationSettings.getLocalFunctionName(String standardName) metod.

Implementera Cell.FormulaLocal liknande Excel VBA Range.FormulaLocal

Följande exempelkod förklarar hur man implementerarGlobalizationSettings.getLocalFunctionName(String standardName) metod. Metoden returnerar det lokala namnet på standardfunktionen. Om standardfunktionsnamnet ärBELOPP, den återkommerUserFormulaLocal_SUM. Du kan ändra koden enligt dina behov och returnera de korrekta lokala funktionsnamnen, t.exBELOPPärSUMMAityskochTEXTärТЕКСТiryska. Se även konsolutgången för exempelkoden nedan för en referens.

Exempelkod

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
package AsposeCellsExamples.WorkbookSettings;
import com.aspose.cells.*;
import AsposeCellsExamples.Utils;
public class Implement_Cell_FormulaLocal_SimilarTo_Range_FormulaLocal {
//Implement GlobalizationSettings class
class GS extends GlobalizationSettings {
public String getLocalFunctionName(String standardName)
{
//Change the SUM function name as per your needs.
if(standardName.equals("SUM"))
{
return "UserFormulaLocal_SUM";
}
//Change the AVERAGE function name as per your needs.
if (standardName.equals("AVERAGE"))
{
return "UserFormulaLocal_AVERAGE";
}
return "";
}//getLocalFunctionName
}//GS extends GlobalizationSettings
public void Run() throws Exception {
//Create workbook
Workbook wb = new Workbook();
//Assign GlobalizationSettings implementation class
wb.getSettings().setGlobalizationSettings(new GS());
//Access first worksheet
Worksheet ws = wb.getWorksheets().get(0);
//Access some cell
Cell cell = ws.getCells().get("C4");
//Assign SUM formula and print its FormulaLocal
cell.setFormula("SUM(A1:A2)");
System.out.println("Formula Local: " + cell.getFormulaLocal());
//Assign AVERAGE formula and print its FormulaLocal
cell.setFormula("=AVERAGE(B1:B2, B5)");
System.out.println("Formula Local: " + cell.getFormulaLocal());
}
public static void main(String[] args) throws Exception {
System.out.println("Aspose.Cells for Java Version: " + CellsHelper.getVersion());
Implement_Cell_FormulaLocal_SimilarTo_Range_FormulaLocal pg = new Implement_Cell_FormulaLocal_SimilarTo_Range_FormulaLocal();
pg.Run();
// Print the message
System.out.println("Implement_Cell_FormulaLocal_SimilarTo_Range_FormulaLocal executed successfully.");
}
}

Konsolutgång

 Formula Local: =UserFormulaLocal_SUM(A1:A2)

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