Преобразование из Excel в PDF в таблице PHPS без разрушения дизайна / стиля - PullRequest
0 голосов
/ 30 августа 2018

Я попытался экспортировать свою таблицу PHPS в формате PDF. Что я сделал, так это установил заголовок:

header("Content-Disposition: attachment;filename=hello world.pdf");

и $writer вот так:

$writer = new \PhpOffice\PhpSpreadsheet\Writer\Pdf\Mpdf($spreadsheet);
$writer->save("php://output");

Остальная часть моего кода остается такой же, как при экспорте в XLSX. Кажется, что не нравятся команды стиля, а также импортирует ячейки, где нет текста. Пример того, как я создаю информацию в ячейке для Excel, выглядит следующим образом:

$sheet->setCellValue('A16', $activitiesCount)->getStyle('A16');
$sheet->getStyle('A16')->getFill()->setFillType(Fill::FILL_SOLID);
$sheet->getStyle('A16')->getFill()->getStartColor()->setARGB('d9e6fc');

Вот оригинал в excel:

enter image description here

Этот экспорт хорошо работает, если я сохраню его в формате PDF непосредственно из Excel. Но когда я пытаюсь сделать это с помощью своего кода, это выглядит как результат:

enter image description here

Как вы можете видеть, это становится действительно грязным. Значит ли это, что я должен запрограммировать его по-другому для PDF? Я думал, что будет легко переключаться между ними.

PS: Не обращайте внимания на различия в названиях между картинками. Я проверил что-то в БД, чтобы увидеть, как оно масштабируется, когда имя действительно длинное. Это было не красиво, позвольте мне сказать вам.

1 Ответ

0 голосов
/ 05 сентября 2018

Это не очень хороший ответ, но если вы прочитаете документацию , вы увидите примечание:

Обратите внимание, что формат файла PDF имеет некоторые ограничения в отношении стиля ячеек, форматирования чисел, ...

Возможно, вам повезет больше, если вы попробуете другую библиотеку, кроме mPDF. С той же страницы:

Разные библиотеки имеют разные сильные и слабые стороны. Некоторые генерируют лучший форматированный вывод, чем другие, некоторые работают быстрее или используют меньше памяти, чем другие, а некоторые генерируют файлы меньшего размера .pdf

...