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

Excel/ApachePOI:如何为Excel单元格转义字符串?,excel,apache-poi,Excel,Apache Poi,我正试图用来自我们系统的原始数据为客户生成XLSX文件作为报告 我面临的问题是,我不能简单地调用setCellValue(myText),因为变量myText可能包含excel需要转义的字符。例如: 以=开头的字符串被解释为公式 文本中某处包含“的字符串被解释为验证约束(这很奇怪) 总之,我需要一种方法将myText的内容写入单元格,而不考虑任何特殊的Excel“魔力”。我总是需要结果单元格的内容是文本,它永远不应该以公式结束(同时,我需要防止“公式注入”)。所以我需要以某种方式转义字符串

我正试图用来自我们系统的原始数据为客户生成XLSX文件作为报告

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

  • =
    开头的字符串被解释为公式
  • 文本中某处包含
    的字符串被解释为验证约束(这很奇怪)
总之,我需要一种方法将
myText
的内容写入单元格,而不考虑任何特殊的Excel“魔力”。我总是需要结果单元格的内容是文本,它永远不应该以公式结束(同时,我需要防止“公式注入”)。所以我需要以某种方式转义字符串内容。重要的是:我不控制输入字符串的内容——它可以是任何东西


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

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

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