duanliaogui4133 2019-01-27 18:24
浏览 190

页眉/页脚和分页未使用mPDF和PHPExcel导出?

I use mPDF with PHPExcel and it seems like headers and footers are not exported from my excel content. Is there a way around that?

If not, can I re-create/add the headers and footers right before the PDF is created?

If not, is there a way to just add page numbers to the pdf?

Thanks!

Edit // More code. See the Header/Footer part:

PHPExcel_Settings::setZipClass(PHPExcel_Settings::PCLZIP);

$objReader = PHPExcel_IOFactory::createReader("Excel2007");
$objReader->setIncludeCharts(TRUE);
$objPHPExcel = $objReader->load("excel.xlsx");

$rendererName = PHPExcel_Settings::PDF_RENDERER_MPDF;
$rendererLibraryPath = dirname(__FILE__) . '/mpdf';

$objWorksheet = $objPHPExcel->getActiveSheet();

// Header and Footer
$title = "Title";
$sub_title = "Subtitle";
$sub_title = "Title";
$date_exported = date('Y-m-d H:i');

$objWorksheet
    ->getHeaderFooter()->setOddHeader('&L&14'.$title."
&11".$sub_title."&R&10Exported with PHP
" . $date_exported);
$objWorksheet
    ->getHeaderFooter()->setEvenHeader('&L&14'.$title."
&11".$sub_title."&R&10Exported with PHP
" . $date_exported);
$objWorksheet
    ->getHeaderFooter()->setOddFooter("&RPage &P of &N");
$objWorksheet
    ->getHeaderFooter()->setEvenFooter("&RPage &P of &N");

$excelRow = 1;
$excelCol = 0;
$columns = Array('Title 1','Title 2','Title 3');
foreach($columns as $column_title)
{
    $objWorksheet->setCellValueByColumnAndRow($excelCol, $excelRow, $column_title);
    $objWorksheet->getCellByColumnAndRow($excelCol,$excelRow)->getStyle()->applyFromArray(
                array(
                    'font' => array(
                        'bold' => true,
                    ),
                    'alignment' => array(
                        'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_LEFT,
                    ),
                    'borders' => array(
                        'top' => array(
                            'style' => PHPExcel_Style_Border::BORDER_THIN,
                            'color' => array('rgb' => '000000')
                        ),
                        'bottom' => array(
                            'style' => PHPExcel_Style_Border::BORDER_THIN,
                            'color' => array('rgb' => '000000')
                        )
                    ),
                    'fill' => array(
                        'type' => PHPExcel_Style_Fill::FILL_SOLID,
                        'color' => array('rgb' => 'd9d9d9')
                    )
                )
           );
    $objWorksheet->getColumnDimensionByColumn($excelCol)->setAutoSize(true);
    $objWorksheet->getCellByColumnAndRow($excelCol,$excelRow)->getStyle()->getAlignment()->setWrapText(false);
    $excelCol++;
}

$objWorksheet->getPageSetup()->setOrientation(PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE);
$objWorksheet->getPageSetup()->setPaperSize(PHPExcel_Worksheet_PageSetup::PAPERSIZE_LETTER);
$objWorksheet->getPageSetup()->setFitToPage(true);
$objWorksheet->getPageSetup()->setFitToWidth(1);
$objWorksheet->getPageSetup()->setFitToHeight(0);
$objWorksheet->getPageMargins()->setTop(0.5);
$objWorksheet->getPageMargins()->setRight(0.7);
$objWorksheet->getPageMargins()->setBottom(0.5);
$objWorksheet->getPageMargins()->setLeft(0.75);

if (!PHPExcel_Settings::setPdfRenderer(
        $rendererName,
        $rendererLibraryPath
    )) {
    die(
        'NOTICE: Please set the $rendererName and $rendererLibraryPath values' .
        '<br />' .
        'at the top of this script as appropriate for your directory structure'
    );
}

header('Content-Type: application/pdf');
header('Content-Disposition: attachment;filename="pdf.pdf"');
header('Cache-Control: max-age=0');

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'PDF');
$objWriter->save('php://output');
exit;
  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥15 Arduino红外遥控代码有问题
    • ¥15 数值计算离散正交多项式
    • ¥30 数值计算均差系数编程
    • ¥15 redis-full-check比较 两个集群的数据出错
    • ¥15 Matlab编程问题
    • ¥15 训练的多模态特征融合模型准确度很低怎么办
    • ¥15 kylin启动报错log4j类冲突
    • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
    • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序
    • ¥15 onvif+openssl,vs2022编译openssl64