小编Wad*_*lan的帖子

Apache POI Excel 公式输入不属于它们的@符号

我遇到了一个问题,我使用的公式非常具体。通过编程输入公式时,我得到了意想不到的结果。例如

MF = "IF(INDEX(CELL(\"width\",INDIRECT(ADDRESS(ROW(),COLUMN()))),1)<6,\"\",AGGREGATE(4,5,INDIRECT(ADDRESS(ROW()-"+readingsPerThirty+",COLUMN())):INDIRECT(ADDRESS(ROW()-1,COLUMN()))))";
Run Code Online (Sandbox Code Playgroud)

我将该 Excel 函数存储为字符串,稍后将被调用:

data.getRow(r+1).getCell(c,Row.MissingCellPolicy.CREATE_NULL_AS_BLANK).setCellFormula(readings.get(r).getC(c));
Run Code Online (Sandbox Code Playgroud)

其中数据是 XSSFSheet

当程序运行时,实际输入单元格的公式是:

=@IF(@INDEX(CELL("width",INDIRECT(ADDRESS(ROW(),COLUMN()))),1)<6,"",AGGREGATE(4,5,INDIRECT(ADDRESS(ROW()-1,COLUMN())):INDIRECT(ADDRESS(ROW()-1,COLUMN()))))
Run Code Online (Sandbox Code Playgroud)

我找不到任何关于@ 符号来自何处或导致它们的原因的文档或报告。我的问题是它们为什么会出现,我可以做些什么来防止它出现。@ 导致 Excel 出现错误,公式在没有它们的情况下也能正常工作。

谢谢

java apache-poi

4
推荐指数
1
解决办法
394
查看次数

标签 统计

apache-poi ×1

java ×1