使用 Apache POI XSSF 工作簿向 Excel 单元格添加公式

Posted

技术标签:

【中文标题】使用 Apache POI XSSF 工作簿向 Excel 单元格添加公式【英文标题】:Add a formula to Excel cell using Apache POI XSSF workbook 【发布时间】:2021-11-22 09:42:24 【问题描述】:

我必须将公式添加到 Excel 工作表中,我发现这是通过以下方式完成的:

String strFormula= "SUM(A1:A10)";
cell.setCellType(HSSFCell.CELL_TYPE_FORMULA);
cell.setCellFormula(strFormula);

我的问题是:

    用户可能会使用不同的语言版本,这意味着在英文系统上公式为"SUM(A1:A10)",而在德文系统上为"SUMME(A1:A10)"。 怎么区分还是根本不用区分?

    如何将我在代码中使用的列索引和行索引也用于公式而不是列字母?意思是:我如何表达行索引1而不必找出那是行B

感谢您的支持!

【问题讨论】:

【参考方案1】:

虽然我可以找到答案,但也许它可以帮助其他人:

    即使添加公式的系统是以德语运行的,也可以使用英语语法添加公式。

    Excel 前端使用的 Excel 地址,如“A1”,可以从 CellyourCell.getaddress() 中获取,并格式化为 String 和 yourcell.getaddress().formatAsString()

【讨论】:

以上是关于使用 Apache POI XSSF 工作簿向 Excel 单元格添加公式的主要内容,如果未能解决你的问题,请参考以下文章

创建错误的curropted.xlsx文件 - 无法找到匹配的构造函数:org.apache.poi.xssf.usermodel.XSSFWorkbook(java.io.FileOutputStr

org.apache.poi.xssf.usermodel.XSSFCell中的Java Excel数据上载错误

POI读取Excel数据

org.apache.poi.hssf.usermodel.HSSFWorkbookorg.apache.poi.xssf.usermodel.XSSFWorkbook excel2003 exce

雷林鹏分享:Apache POI工作簿

雷林鹏分享:Apache POI工作簿