有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用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) 个答案