phpexcel 将选择的 sheet 导出为 pdf
phpexcel export selected sheet to pdf
我有一个包含 4 张表格的 xlsx 文件。使用下面的代码,我只能导出第一个 sheet。
我希望能够将任何 sheet 按名称 导出为 pdf。
以下是我目前所做的:
$export_file = 'export.pdf';
$import_file = './media/migration/import.xlsx';
$sheet_name = 'Menu_A';
$rendererName = PHPExcel_Settings::PDF_RENDERER_MPDF;
$rendererLibraryPath = '/var/www/public/vendor/mpdf/mpdf';
$object = PHPExcel_IOFactory::load($import_file);
$object->setActiveSheetIndexByName($sheet_name);
PHPExcel_Settings::setPdfRenderer($rendererName, $rendererLibraryPath);
$objWriter = PHPExcel_IOFactory::createWriter($object, 'PDF');
header('Content-Type: application/pdf');
header('Content-Disposition: attachment;filename="' . $export_file . '"');
header('Cache-Control: max-age=0');
$objWriter->save('php://output');
默认情况下,只会为 html/pdf 输出生成第一个作品sheet,除非您在保存前告诉 Writer 要显示哪个 sheet:
$objWriter->setSheetIndex(1);
(第二个sheet)
$objWriter->setSheetIndex($object->getActiveSheetIndex());
(当前工作sheet)
$objWriter->setSheetIndex($object->getIndex($object->getSheetByName($sheet_name)));
(对于命名作品sheet)
我有一个包含 4 张表格的 xlsx 文件。使用下面的代码,我只能导出第一个 sheet。
我希望能够将任何 sheet 按名称 导出为 pdf。
以下是我目前所做的:
$export_file = 'export.pdf';
$import_file = './media/migration/import.xlsx';
$sheet_name = 'Menu_A';
$rendererName = PHPExcel_Settings::PDF_RENDERER_MPDF;
$rendererLibraryPath = '/var/www/public/vendor/mpdf/mpdf';
$object = PHPExcel_IOFactory::load($import_file);
$object->setActiveSheetIndexByName($sheet_name);
PHPExcel_Settings::setPdfRenderer($rendererName, $rendererLibraryPath);
$objWriter = PHPExcel_IOFactory::createWriter($object, 'PDF');
header('Content-Type: application/pdf');
header('Content-Disposition: attachment;filename="' . $export_file . '"');
header('Cache-Control: max-age=0');
$objWriter->save('php://output');
默认情况下,只会为 html/pdf 输出生成第一个作品sheet,除非您在保存前告诉 Writer 要显示哪个 sheet:
$objWriter->setSheetIndex(1);
(第二个sheet)
$objWriter->setSheetIndex($object->getActiveSheetIndex());
(当前工作sheet)
$objWriter->setSheetIndex($object->getIndex($object->getSheetByName($sheet_name)));
(对于命名作品sheet)