2017-07-07 113 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甲。