【问题标题】:Exporting PDF from MySQL query results using PHPExcel使用 PHPExcel 从 MySQL 查询结果中导出 PDF
【发布时间】:2013-04-19 09:45:44
【问题描述】:

我正在使用 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();

我做错了什么?

提前致谢

【问题讨论】:

    标签: php mysql pdf-generation phpexcel


    【解决方案1】:

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

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

    编辑

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

    【讨论】:

    • 我刚刚查看了 PHPExcel 文件夹中的文件,它在我现在使用的 PHPExcel_Writer_PDF 类中使用了 tcPDF,但它仍然没有生成任何 PDF。
    • 请给我更多的工作:如果 tcPDF 包含在发行版中,那么您使用的是哪个版本的 PHPExcel?您是否尝试过设置错误日志记录或任​​何异常处理?如果是这样,你得到了什么错误,或者抛出了什么异常?
    【解决方案2】:

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

    //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');
    

    将代码的最后一部分改成这个。

    谢谢

    【讨论】:

      猜你喜欢
      • 2012-11-11
      • 2013-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-13
      • 1970-01-01
      • 2017-12-31
      • 1970-01-01
      相关资源
      最近更新 更多