Я пытаюсь сгенерировать XLSX-файлы в виде отчетов для клиентов с необработанными данными, поступающими из нашей системы.
Я столкнулся с проблемой, которую я не могу просто вызвать setCellValue(myText)
, потому что переменная myText
может содержать символы, которые необходимо экранировать для Excel. Например:
- строки, начинающиеся с
=
, интерпретируются как формулы - строки, содержащие
'
где-то в тексте, интерпретируются как ограничения проверки (что странно) - ...
Итак, мне нужен способ записать содержимое myText
в ячейку независимо от какого-либо специального Excel "magi c". Мне всегда нужно, чтобы содержимое результирующей ячейки было текстом, оно никогда не должно заканчиваться формулой (также мне нужно предотвращать «инъекцию формулы»). Поэтому мне нужно как-то избежать строкового содержимого. Важно то, что я не контролирую содержимое входной строки - это может быть буквально что угодно.
Есть ли какой-нибудь стандартный метод экранирования для Excel? Я работаю с Apache библиотекой POI.