我用poi到出excel的时候给某列设置了一个公式,公式如下:=SUBSTITUTE(C{row},"/","")&""&TEXTJOIN("",TRUE,E{row},F{row},G{row}),
但是导出的时候excel文件上对应列的公式确变成了,=SUBSTITUTE(C{row},"/","")&""&@TEXTJOIN("",TRUE,E{row},F{row},G{row})这样,在TEXTJOIN函数前面加了一个@符号,导致数据乱码
poi导出excel设置公式会在TEXTJOIN前面加@符号
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
恐怖如斯恐怖如斯啊 2025-01-17 20:31关注以下回复参考:皆我百晓生、券券喵儿等免费微信小程序作答:
在使用Apache POI导出Excel并设置公式时,你遇到的问题可能与Excel中的某些特定行为或POI库本身的某些行为有关。当你发现公式中自动添加了像
@这样的符号时,这可能是POI在构建或处理公式时的某种特殊处理方式,也可能是Excel自身的某些处理机制。以下是几个可能的解决方案和考虑因素:-
检查POI版本:确保你使用的Apache POI库是最新的版本。有时候,库的老版本可能存在一些已知的问题或不兼容性。升级到最新的版本可能能够解决你遇到的问题。
-
公式格式检查:确保你的公式格式是正确的。有时候,即使公式的格式稍有偏差也会导致Excel在处理时产生问题。尝试手动在Excel中输入公式并检查其行为是否与你期望的一致。如果手动输入没有问题,那么问题可能出在POI创建公式的逻辑上。
-
避免使用大括号
{}:在某些情况下,特别是在创建数组公式时,避免使用大括号可能会引起混淆。如果可能的话,尝试不使用大括号来定义行号或其他变量。尝试直接使用行索引来引用单元格内容,例如C行row列的单元格可以表示为C列加上行索引值。 -
检查Excel版本和兼容性:确保你的Excel版本与POI库兼容。有时不同版本的Excel可能会有不同的行为或解析方式,这可能导致某些功能在某些版本中表现不正常。
-
检查POI设置公式的代码逻辑:确保你在POI中设置公式的代码逻辑是正确的。有时候问题可能出在代码实现上,而不是POI库本身的问题。检查你的代码以确保你正确地创建了公式字符串。
如果问题仍然存在,你可能需要查阅Apache POI的官方文档或社区论坛以获取更多帮助,或者考虑在相关的开发社区中寻求更专业的建议。有时候问题可能涉及到特定版本的POI库的特定行为或已知的bug,这些都需要通过官方渠道进行确认和解决。
解决 无用评论 打赏 举报-