[]
GcExcel 在 IRange 接口中提供了setFormulaLocal 和getFormulaR1C1Local 方法,可用于检索或设置工作表单元格中的本地化公式。
注意:这些方法仅支持日本和中国文化的本地化公式。
请参考以下示例代码,该代码使用了日本文化中的 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");
下图显示了上述代码的输出:
注意:Excel 不支持多字节字符串转换。 因此,输出将保存为 PDF 文件。