首先安装phpSpreadsheet以及mpdf插件,安装方式如下:
composer require phpoffice/phpspreadsheet
composer require mpdf/mpdf
思路:1、用PhpSpreadsheet打开excel文件;2、
代码如下:
/*
$excelfile:要转为pdf的excel文件
$path:pdf的存储地址
*/
public function excelConvertPdf($excelfile,$path)
{
/*第一步:打开excel文件*/
$Excelreader = \PhpOffice\PhpSpreadsheet\IOFactory::createReaderForFile($excelfile);
$ExcelObj= $Excelreader ->load($excelfile);//打开后的excel对象
/*第二步:另存为pdf文件*/
$PDFWriter = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($ExcelObj,'Mpdf');
$pdfname = '123.pdf';
$PDFWriter ->save($path.'\\'.$pdfname );
}
值得注意的是,转换后pdf的边框如果显示不全,此时需要检查excel文件的单元格问题.
如果遇到中文出现乱码的情况,解决办法即是修改phpspreadsheet 中 Mpdf类文件,代码片段如下: