2012-05-13 53 views
3

因此,我將使用PHPExcel創建的Excel文件導出爲PDF。我唯一的問題是內容在內容消失的頁面寬度(而不是長度)上運行。只有內容應該在空白頁面上創建。我試着將與像從文檔這個例子行分欄符,但只行中斷點似乎與PDF的工作:PHPExcel PDF版式

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

值得一提的,我從Symfony2的控制器內工作,因此,斜槓在PHPExcel枚舉前面。

我的理想解決方案是將任何額外的內容運行到第二個頁面,該頁面可以放在第一頁的旁邊,以顯示整個表格,因爲它出現在真正的Excel文檔中。

+0

您可以將工資佈局從肖像切換到風景嗎? – 2012-05-13 20:06:47

+0

我可以,但我的內容可以無限寬,所以沒有幫助。 – user1045879

回答

1

這是PHPExcel用於將PDF輸出呈現爲PDF(即tcPDF)的外部庫的限制。

雖然我知道其他一些可以從HTML生成PDF的庫(例如domPdf和mPdf),並且PHPExcel的未來版本將允許您選擇您希望使用的這些庫中的哪一個,但它們都不是似乎能夠生成多個頁面以顯示工作表的全部數據。

除非有人可以提出替代方案,否則恐怕這仍然是可預見未來的限制。我有一個垂直類似的問題

+0

感謝您的回答。我的解決方案只是手動放下所有東西,並通過縮小字體和使用非常薄的邊框來適合我在一頁上所能做的。 – user1045879

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