Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP Excel仅将一张工作表另存为pdf_Php_Excel_Phpexcel - Fatal编程技术网

PHP Excel仅将一张工作表另存为pdf

PHP Excel仅将一张工作表另存为pdf,php,excel,phpexcel,Php,Excel,Phpexcel,我正在使用phpoffice/phpexcel,但遇到了一个问题 我有一个excel文件,有9张表格 我打开了这9张表中的6张($objReader->setLoadSheetsOnly([…])设置了一些值并进行了计算 我用6张表格保存了这个新的excel文件 信息:6个STEET中的一个是一个概述站点,其中包含对其他表单的一些参考 我有没有办法只将概览表保存为PDF格式 我的台词: require_once dirname(__FILE__) . '/PHPExcel/IOFactory.p

我正在使用phpoffice/phpexcel,但遇到了一个问题

  • 我有一个excel文件,有9张表格
  • 我打开了这9张表中的6张($objReader->setLoadSheetsOnly([…])设置了一些值并进行了计算
  • 我用6张表格保存了这个新的excel文件
  • 信息:6个STEET中的一个是一个概述站点,其中包含对其他表单的一些参考

    我有没有办法只将概览表保存为PDF格式

    我的台词:

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

    默认情况下,HTML和PDF编写器(PDF编写器使用HTML编写器的输出,并使用任何支持的PDF编写器库将其转换为PDF)将只创建一个工作表输出


    但是,这些编写器允许您使用
    setSheetIndex()
    方法选择要编写的工作表,因此您可以依次写出每个工作表的文件,然后使用现有的任何PDF缝合工具将它们“缝合”在一起。。。或者还有一个
    writealsheets()
    方法。

    使用mpdf工具,如下面的代码


    使用mpdf工具将数据转换为pdf格式。

    您需要自己编写代码。如果您有问题,请发布您尝试过的内容,并清楚解释哪些内容不起作用,然后提供。读一个好问题。请务必阅读和阅读。与我的行一样,我只能保存包含所有STEET的完整excel文件。如果我只加载概览表
    Offerte
    ,则引用将丢失