Я работаю с PHP_XLSXWriter для одного из моих проектов и сталкиваюсь с проблемой, которую не могу решить; смешанные форматы.
Мне нужно создать файл Excel из таблиц моей базы данных вместе со строкой заголовка, содержащей весь текст. Данные после строки заголовка имеют формат «целое число», «число», «текст». У меня уже есть отлично работающий скрипт, который извлекает информацию из базы данных, а затем записывает ее в файл XLSX перед отправкой файла в браузер пользователя. Вверху этого файла находится следующее:
$header = array("string","string","string");
$writer->writeSheetHeader($sheet_name, $header, $col_options = ['widths'=>[20,20,50], 'suppress_row'=>true] );
Все это работает безупречно, и мой файл открывается в Excel. Однако все мои данные находятся в текстовом формате Excel; строка заголовка и строки данных. Это, очевидно, потому что я объявляю, что три столбца должны быть отформатированы как «строка», но если я изменю эту строку на:
$header = array("integer","#0.00","string");
$writer->writeSheetHeader($sheet_name, $header, $col_options = ['widths'=>[20,20,50], 'suppress_row'=>true] );
Тогда последний Excel предупреждает пользователя о проблеме в файле, поскольку он открывается и предлагает восстановить файл. Это работает, и заголовок представляет собой весь текст, а данные имеют правильный формат, но с точки зрения пользователя это беспорядочно и непрофессионально. Я пытаюсь принудительно отформатировать все столбцы, но как это обойти? Я долго искал файлы справки и онлайн-форумы, но не могу найти ничего, что четко объясняло бы мне, как смешивать мои форматы в PHP_XLSXWriter.
Удалось ли кому-нибудь еще решить эту проблему, и если да , как?