Я работаю над проектом, который в настоящее время использует POI для записи в файл Excel с использованием рабочей книги XSSF.У меня проблема с записью 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 вместо "
.