Excel / Apache POI:如何为Excel单元格转义字符串?

问题描述 投票:0回答:1

我正在尝试将XLSX文件作为客户报告生成,原始数据来自我们的系统。

我面临的问题是我不能简单地调用setCellValue(myText),因为变量myText可能包含需要为excel进行转义的字符。例如:

  • =开头的字符串被解释为公式
  • 文本中某处包含'的字符串被解释为验证约束(很奇怪)
  • ...

总之,我需要一种将myText的内容写入单元格的方法,而不管任何特殊的Excel“魔术”如何。我始终需要将结果单元格的内容作为文本,永远不要以公式结尾(同样,我需要防止“公式注入”)。因此,我需要以某种方式转义字符串内容。重要的是:我不控制输入字符串的内容-它实际上可以是任何东西。

Excel是否有一些标准的转义方法?我正在使用Apache POI库。

excel apache-poi
1个回答
1
投票

事实证明,在this answer的帮助下,传统意义上的“转义”是不必要的。

使用cell.getCellStyle().setQuotePrefixed(true)解决了问题。

© www.soinside.com 2019 - 2024. All rights reserved.