Excel VBA Range.FormulaLocal benzeri Cell.FormulaLocal ı Uygula

Olası Kullanım Senaryoları

Microsoft Excel formüllerinin farklı bölgelerde veya dillerde farklı isimleri olabilir. Örneğin, SUM işlevi Almanca’da SUMME. Aspose.Cells, İngilizce olmayan fonksiyon adlarıyla çalışamaz. Microsoft Excel VBA’da, Range.FormulaLocal özelliği, fonksiyon adını dil veya bölgeye göre döndürür. Aspose.Cells, bunun amacıyla Cell.FormulaLocal özelliği sağlar. Ancak, bu özellik yalnızca GlobalizationSettings.getLocalFunctionName(String standardName) yöntemini uygularsanız çalışır. 

Excel VBA Range.FormulaLocal benzeri Cell.FormulaLocal’ı uygulamanın nasıl olduğunu aşağıdaki örnek kod açıklar. Metod, standart fonksiyonun yerel adını döndürür. Standart fonksiyon adı SUM ise UserFormulaLocal_SUM döndürür. Kodu ihtiyaçlarınıza göre değiştirebilir ve doğru yerel fonksiyon adlarını döndürebilirsiniz, örneğin SUM Almanca’da SUMME ve Rusça’da TEXT için ТЕКСТ olur. Lütfen aşağıdaki örnek kodun konsol çıktısını inceleyin.

Aşağıdaki örnek kod, GlobalizationSettings.getLocalFunctionName(String standardName) yönteminin nasıl uygulanacağını açıklar. Bu yöntem, standart fonksiyonun yerel adını döndürür. Örneğin, standart fonksiyon adı SUM ise, UserFormulaLocal_SUM döner. Kendi ihtiyaçlarınıza göre kodu değiştirebilir ve doğru yerel fonksiyon adlarını döndürebilirsiniz; örneğin, Almanca’da SUM SUMME ve Rusça’da TEXT ТЕКСТ olur. Ayrıca, örnek kodun konsol çıktılarını aşağıda görebilirsiniz.

Örnek Kod

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

Konsol Çıktısı

 Formula Local: =UserFormulaLocal_SUM(A1:A2)

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