我用我的应用程序生成了一个excel文档。我尝试设置一个公式如下:
cell.setCellFormula("ANZAHL2(B10:B37");
在Excel文件中生成的内容如下:
=@ANZAHL2(B10:B37)
符号@从何而来?
我有其他单元格,我只是在那里总结不同的单元格值,这些工作得很好
cell.setCellFormula("A5+A10");
给了我
=(A5+A10)
我找到了这个线程Apache POI Excel Formula entering @ Symbols where they don't belong,但是提供的在聚合函数前面放置"_xlfn."的解决方案对我不起作用。
cell.setCellFormula("_xlfn.ANZAHL2(B10:B37");
先谢了!
1条答案
按热度按时间uoifb46i1#
Microsoft Excel从不存储本地化公式字符串。它总是存储en_US公式字符串。因此,请使用
cell.setCellFormula("COUNTA(B10:B37)");
使其工作。Cell.setCellFormula
始终将公式字符串设置为直接存储到文件中。从文件存储中读取en_US公式字符串后,Excel GUI将该公式更改为德语版本
=ANZAHL2(B10:B37)
。