Я использую PHPSPreadsheet 1.6.0 для экспорта данных из Neo4J в файл Excel.
Код записи:
$spreadsheet->getActiveSheet()
->setCellValue('A1',$string);
Это работает хорошо, пока у меня нет сущностей HTML.Для Neo4J Reasons я храню некоторый текст в HTML-сущностях, таких как
8" ID x 12"
, который читается для людей
8" ID x 12"
(кавычки являются частью строки и важны для читателя, так какизмерения (в дюймах) и не могут быть пропущены.
Я пытался использовать
html_entity_decode($string,ENT_QUOTES, "utf-8");
для получения чистого вывода в ячейке листа Excel. Вывод на экране в порядкепри печати в php-файле отображается как ожидалось
8" ID x 12"
В Excelfile я всегда получаю
8" ID x 12"
независимо от того, как я форматирую строку или изменяю кодировку (пробовал также без каких-либо измененийУ кого-нибудь есть совет, как получить оригинальные символы вместо html-сущностей?
Дальнейшие исследования:
Когда я вместо ввода текстапеременной типа
$spreadsheet->getActiveSheet()->setCellValue( 'A1',
html_entity_decode('8" ID x 2"',ENT_QUOTES,'UTF-8') );
это работает как charme, пробуя то же самое с переменной типа $ string, где
$string = '8" ID x 2"'
$spreadsheet->getActiveSheet()->setCellValue('A1',
html_entity_decode($string,ENT_QUOTES,'UTF-8')
);
снова генерирует вывод
8" ID x 12"
внутри ячейки Excel. По какой-то причине я не могу понятьt эта функция не работает со строками?