2017-07-07 11 views
0

私はphpoffice/phpexcelを使用していますが問題があります。私はExcelが、私はこの9枚($ objReader-> setLoadSheetsOnly([...]))の6を開き、9枚 PHP Excelはpdfとして1枚だけを保存します

  • でファイルを持っている

    1. 私はこれを保存するいくつかの値を設定し、
    2. を計算します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

    私のラインのように、私はすべてのsteelsと完全なExcelファイルを保存することができます。 – Niklas

    +0

    概要シート「Offerte」のみを読み込むと、参照が失われてしまいます – Niklas

    答えて

    0

    は、HTMLおよびPDFの作家だけで作成されます(PDFライターは、それがサポートPDFライターライブラリのいずれかを使用してPDFに変換したHTMLライターからの出力を使用しています)単一シート出力。

    ただし、これらのライターを使用すると、setSheetIndex()メソッドを使用して書き込むシートを選択できるため、個々のワークシートごとにファイルを書き出してから、それらのすべてを一緒に「ステッチ」することができます。存在するか、またはwriteAllSheets()メソッドもあります。コードの下

    使用MPDFツールのような

    0

    使用MPDFツールは、PDFメートにデータを変換することができます。

    関連する問題