我尝试将PHPSpreadsheet导出为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中的原始版本:
如果我直接从excel本身将其另存为PDF,则此文件可以导出。但是,当我尝试使用我的代码进行操作时,这似乎是结果:
您可以看到它变得非常混乱。这是否意味着我必须以其他方式对PDF进行编程?我认为在两者之间进行更改很容易。
PS:不要介意图片之间的名称差异。我在DB中进行了测试,以了解当名称很长时它如何扩展。太漂亮了,让我告诉你。
答案 0 :(得分:0)
这并不是一个很好的答案,但是如果您阅读the documentation,则会看到一条注释:
请注意,PDF文件格式在样式单元格,数字格式等方面有一些限制。
尝试使用mPDF以外的其他库可能会更好。在同一页面上:
不同的库有不同的优点和缺点。有些生成比其他格式更好的格式输出,有些比其他格式更快或使用更少的内存,而有些生成较小的.pdf文件