使用Apache POI XSSF将Unicode字符从Java写入Excel文件“.xlsx”
我正在从事一个项目,该项目目前正在使用POI使用XSSF工作簿写入Excel文件。我在将Unicode个字符写入Excel文档并使其正确显示时遇到问题
我使用Pattern和Matcher查找文本中的其他标记,并用相应的Unicode字符替换它们
private static String replaceTags(String stringToChange, String replacementTag, String originalTag) {
Pattern pattern = Pattern.compile(originalTag);
Matcher matcher = pattern.matcher(stringToChange);
return matcher.replaceAll(replacementTag);
}
我在代码中调用该函数来查找和替换文本中的标记。它适用于我的大多数替换标签,但不适用于商标符号和引号之类的东西,因为我不能用它们的实际符号作为替换,我必须为它们使用Unicode
if (replacementString.contains("%0022")) {
replacementString = replaceTags(replacementString, "\\U005C", "%0022");
}
c.setCellValue(replacementString);
现在我遇到的问题是,当我将字符串写入Excel文件时,Excel会忽略U005C
前面的反斜杠,而只是像普通文本一样写出代码。有没有办法让这些字符从我丢失的代码中显示出来,或者甚至可以这样做
更新:
我已经得到了所有我需要的符号,除了引号。使用\\\\U005c
或\\\\U0022
会使Excel电子表格显示\U005c或\U0022而不是"
共 (0) 个答案