4

因此,我将使用 PHPExcel 创建的 Excel 文件导出为 PDF。我唯一的问题是当内容超出页面的宽度(而不是长度)时,内容就会消失。仅在该内容所在的位置创建一个空白页面。我已经尝试在文档中使用类似此示例的行插入分栏符,但似乎只有换行符适用于 PDF:

$objPHPExcel->getActiveSheet()->setBreak( 'D10' , \PHPExcel_Worksheet::BREAK_COLUMN );

值得一提的是,我在 Symfony2 控制器中工作,因此 PHPExcel 枚举前面的斜线。

我理想的解决方案是让任何额外的内容运行到第二页,该第二页可以放在第一页旁边,以显示整个表格,就像它出现在真实的 Excel 文档中一样。

4

2 回答 2

1

这是 PHPExcel 用于将 html 输出呈现为 PDF(即 tcPDF)的外部库的限制。

虽然我知道有许多其他库可以从 HTML 生成 PDF(例如 domPdf 和 mPdf),而 PHPExcel 的未来版本将允许您选择要使用的这些库中的哪一个,但它们似乎都不能生成多个页面以显示工作表全宽的数据。

除非有人能提出替代方案,否则恐怕在可预见的未来这仍将是一个限制。

于 2012-05-15T12:59:28.953 回答
0

我在垂直方向遇到了类似的问题,我找到的解决方案是使用这个

$highestRow = $objPHPExcel->setActiveSheetIndex(0)
    ->getHighestRow();

$objPHPExcel->setActiveSheetIndex(0)
    ->getPageSetup()
    ->setPrintArea("A1:I" . $highestRow )
    ->setFitToHeight(255);

我建议尝试与宽度类似的东西。例如 :

   $highestColumn= $objPHPExcel->setActiveSheetIndex(0)
        ->getHighestColumn();


    $objPHPExcel->setActiveSheetIndex(0)
        ->getPageSetup()
        ->setPrintArea("A1:" . $highestColumn . "10" )
        ->setFitToWidth(255);
于 2016-10-14T12:57:37.840 回答