2017-07-07 67 views
0

我使用phpoffice/phpexcel有問題。PHP Excel只保存一張PDF格式

  1. 我有一個excel 9張
  2. 我打開這9張的6檔($ objReader-> setLoadSheetsOnly([...]))並設置一些值,並計算
  3. 我保存這個6個steets之一是必須與其它紙

    我有什麼方法只保存概覽表爲PDF一些參考一概述站點:新的Excel有6張

信息文件?

我的臺詞:

require_once dirname(__FILE__) . '/PHPExcel/IOFactory.php'; 

if (!file_exists("orginal.xls")) { 
    exit("Please create orginal.xls first." . EOL); 
} 

PHPExcel_Settings::setCacheStorageMethod(PHPExcel_CachedObjectStorageFactory::cache_in_memory); 

echo date('H:i:s') , " Load from Excel2007 file" , EOL; 

$objReader = PHPExcel_IOFactory::createReader('Excel5'); 

$objReader->setLoadSheetsOnly(array("Dateneingabe", "Leistungen EK", "Flugliste", "Sprachen", "Buchungsübersicht", "Verkaufspreise", "Offerte", "Transferdauer")); 

$objPHPExcel = $objReader->load("orginal.xls"); 

$objPHPExcel->setActiveSheetIndexByName('Dateneingabe'); 
$objPHPExcel->getActiveSheet()->SetCellValue('D102', '220'); 
$objPHPExcel->getActiveSheet()->SetCellValue('F102', '220'); 

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); 
//$objWriter->setPreCalculateFormulas(false); 
$objWriter->setOffice2003Compatibility(true); 
$objWriter->save(str_replace('.php', '.xls', __FILE__)); 

//SAVE AS PDF 

$objReader = PHPExcel_IOFactory::createReader('Excel2007'); 

$objReader->setReadDataOnly(true); 

$objReader->setLoadSheetsOnly(array("Dateneingabe", "Leistungen EK", "Flugliste", "Sprachen", "Buchungsübersicht", "Verkaufspreise", "Offerte", "Transferdauer")); 

$objPHPExcel = $objReader->load("index.xls"); 

$objPHPExcel->setActiveSheetIndexByName('Offerte'); 

$rendererName = PHPExcel_Settings::PDF_RENDERER_DOMPDF; 

$rendererLibrary = dirname(__FILE__).'/dompdf/dompdf/'; 

PHPExcel_Settings::setPdfRenderer($rendererName, $rendererLibrary); 

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'PDF'); 

$objWriter->setPreCalculateFormulas(false); 

$objWriter->save(str_replace('.php', '.pdf', __FILE__)); 
+0

您應該嘗試**自己編寫代碼**。在[**做更多的研究**之後](https://meta.stackoverflow.com/q/261592/1011527)如果你有問題**發佈你已經嘗試了**的**明確的解釋不工作**並提供[最小,完整和可驗證示例](http://stackoverflow.com/help/mcve)。閱讀[如何問](http://stackoverflow.com/help/how-to-ask)一個很好的問題。請務必[參觀](http://stackoverflow.com/tour)並閱讀[this](https://meta.stackoverflow.com/q/347937/1011527)。 –

+0

就像我的線條一樣,我只能保存完整的excel文件與所有的鋼琴。 – Niklas

+0

如果我只加載總覽表「Offerte」,則引用丟失 – Niklas

回答

0

默認情況下,HTML和PDF作家(PDF格式作家使用的輸出從HTML書寫器將其轉換爲使用任何支持PDF作家庫的PDF)將只創建一個單張紙輸出。

但是,這些編寫者允許您使用setSheetIndex()方法選擇要寫入哪個工作表,因此您可以依次爲每個單獨的工作表寫出文件,然後使用任何PDF拼接工具將它們「拼接」在一起存在...或者還有一個writeAllSheets()方法。

0

如下面的代碼

使用MPDF工具使用MPDF工具將數據轉換成PDF甲。

相關問題