[]
        
(Showing Draft Content)

本地化公式

GcExcel 在 IRange 接口中提供了setFormulaLocalgetFormulaR1C1Local 方法,可用于检索或设置工作表单元格中的本地化公式。

注意:这些方法仅支持日本和中国文化的本地化公式。

请参考以下示例代码,该代码使用了日本文化中的 ASC 和 JIS 函数,并比较了不同的公式方法。

//create a new workbook
Workbook workbook = new Workbook();
workbook.setCulture(Locale.JAPAN);
IWorksheet sheet = workbook.getActiveSheet();

sheet.getRange("$A$1:$A$3").setValue(new String[][] { { "Original" }, { "ゴールドシップは1番人気です。" }, { "Halfwidth" } });

sheet.getRange("A5").setValue("Fullwidth");

IRange a4 = sheet.getRange("A4");
IRange a6 = sheet.getRange("A6");

// Equivalent: Formula = "ASC(A2)"
// Because ASC doesn't have localized name in Japanese Excel.
a4.setFormulaLocal("=ASC(A2)");

// Equivalent: Formula = "DBCS(A2)"
// Because JIS is localized name of DBCS in Japanese Excel.
a6.setFormulaLocal("=JIS(A2)");

// Compare different formula properties.
sheet.getRange("$B$1:$F$1")
.setValue(new String[][] { { "FormulaLocal", "Formula", "FormulaR1C1Local", "FormulaR1C1" } });

sheet.getRange("$B$4:$E$4").setValue(new Object[][] {
{ a4.getFormulaLocal(), a4.getFormula(), a4.getFormulaR1C1Local(), a4.getFormulaR1C1() } });

sheet.getRange("$B$6:$E$6").setValue(new Object[][] {
{ a6.getFormulaLocal(), a6.getFormula(), a6.getFormulaR1C1Local(), a6.getFormulaR1C1() } });

// Arrange layout
sheet.getUsedRange().getColumns().autoFit();
sheet.getPageSetup().setIsPercentScale(false);
sheet.getPageSetup().setFitToPagesWide(1);
sheet.getPageSetup().setPrintHeadings(true);
    
//save to an pdf file
workbook.save("FormulaLocalAndJis.pdf");

下图显示了上述代码的输出:


jis and asc function with localized formula properties

注意:Excel 不支持多字节字符串转换。 因此,输出将保存为 PDF 文件。