Implémenter Cell.FormulaLocal similaire à Excel VBA Range.FormulaLocal

Scénarios d’utilisation possibles

Microsoft Les formules Excel peuvent avoir des noms différents selon les paramètres régionaux, les régions ou les langues. Par exemple,SOMMEla fonction s’appelleÉTÉdansAllemandAspose.Cells ne peut pas fonctionner avec des noms de fonction non anglais. DansMicrosoftExcel VBA, il y a* *une*Range.FormulaLocal*propriété qui renvoie le nom de la fonction selon sa langue ou sa région. Aspose.Cells fournit égalementCell.FormulaLocalpropriété à cet effet. Cependant, cette propriété ne fonctionnera que lorsque vous implémenterezGlobalizationSettings.getLocalFunctionName(String standardName) méthode.

Implémenter Cell.FormulaLocal similaire à Excel VBA Range.FormulaLocal

L’exemple de code suivant explique comment implémenterGlobalizationSettings.getLocalFunctionName(String standardName) méthode. La méthode renvoie le nom local de la fonction standard. Si le nom de la fonction standard estSOMME, ça revientUserFormulaLocal_SUM. Vous pouvez modifier le code selon vos besoins et renvoyer les noms de fonction locaux corrects, par exempleSOMMEestÉTÉdansAllemandetTEXTEestТЕКСТdansrusse. Veuillez également consulter la sortie de la console de l’exemple de code ci-dessous pour référence.

Exemple de code

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

Sortie console

 Formula Local: =UserFormulaLocal_SUM(A1:A2)

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