使用Apache POI 3.10.1(Java)我有一个POI替换字符串中的双引号的问题“.Excel无法读取它,因为它期望真正的双引号。
此:
cell.setCellFormula("IF(A2=\"TEST\";1;2)");
在sheet1.xml中打开它(打开text.xlsx(作为zip)并查看sheet1.xml):
<f>IF(A2="TEST";1;2)</f>
Excel会在工作表中引发错误。在Excel中编写公式,我可以从XML中看到它期望这样:
<f>IF(A2="TEST";1;2)</f>
我似乎找不到任何有类似问题的人。有人知道这是一个错误还是我做错了什么?
答案 0 :(得分:2)
可能这是由分号引起的
cell.setCellFormula("IF(A2=\"TEST\",1,2)");
这对我有用。
有关if-function以及如何提供参数的详细信息,请参阅online help。
答案 1 :(得分:0)
我不久前在我的项目中发现了simillar问题。
在我的情况下,我无法预测raport中将添加到XML然后再添加到PDF / MSExcel的字符。
我使用CDATA(import org.jdom.CDATA)功能:
final Element xmlIssueTitle = new Element(xmlMessageIssueTitle);
final CDATA xmlIssueTitleCDATA = new CDATA(issueObj.getTitle());
xmlIssueTitle.addContent(xmlIssueTitleCDATA);