1

我正在使用 PHPExcel 以 Excel 和 CSV 格式导出 MySQL 查询结果,但我无法执行相同操作并将结果导出为 PDF。

下面是我用来执行此操作的代码:

$objPHPExcel = new PHPExcel;        

$headings = array('ID','Source Date','Source','Programme Name','Coder','Presenter','Format','Audio Path','Video Path');

$rowNumber = 1;
$col = 'A';
foreach($headings as $heading)
{
    $objPHPExcel->getActiveSheet()->setCellValue($col.$rowNumber,$heading);
    $col++;
}

$rowNumber = 2;
while($row = $dbase->fetchrow($query))
{
    $col = 'A';

    foreach ($row as $cell) {

        $objPHPExcel->getActiveSheet()->setCellValue($col.$rowNumber,$cell);
        $col++;
    }
    $rowNumber++;
}

//freeze pane so that the heading does not scroll
$objPHPExcel->getActiveSheet()->freezePane('A2');

//save as an Excel(.xls) file
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel,'PDF');
$objWriter->writeAllSheets();

$objWriter->save('Report.pdf');
exit();

我做错了什么?

提前致谢

4

2 回答 2

1

如果您使用的是最新的 1.7.8 版本的 PHPExcel,那么您还需要在服务器上安装一个 PDF 渲染库(tcPDF、DomPDF 或 mPDF)。然后,您需要告诉 PHPExcel 您正在使用哪些库,以及它安装在服务器上的什么位置。

这在开发人员文档的第 6.9.1 节中进行了描述,标题为“PHPExcel_Writer_PDF”

编辑

您可能还想在代码中添加一些异常处理。

于 2013-04-19T09:59:39.510 回答
0

已更正代码。其描述如下:

//save as a PDF file
$objWriter = new PHPExcel_Writer_PDF($objPHPExcel);
$objWriter->writeAllSheets();

$objWriter->save(ABSOLUTE_MEDIA_PATH.'Report_dated_'.date('d_M_Y',time()).'.pdf');

将代码的最后一部分更改为此。

谢谢

于 2013-04-22T13:48:49.677 回答