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)