2014-09-02 24 views
6

Son zamanlarda cakephp'de excel formatında raporlar üretmek için phpExcel kütüphanesini kullandım. Her şey pivot Tablolar hariç gayet iyi çalışıyor.PhpExcel Kütüphanesi Kullanarak Pivot Tabloları Üretmek veya Klonlamak Mümkün mü?

Diğer excel sayfasını klonlamak/üretmek için bir master excel sayfası (pivot tablo içerir) kullanıyorum. Yeni oluşturulan sayfada diğer bilgiler iyi görünüyor ancak pivot tablo oluşturulmuyor (sadece başlıktaki isimler gösteriliyor. Filtre seçeneği yok). İşte kullanıyorum kod.

 $filename = WWW_ROOT."files/master_report_template/compliance_workflow_master_template.xlsx"; 
     $reportFileName = WWW_ROOT."files/documents/reports/compliance_workflow_template.xlsx"; 
     $this->PhpExcel->loadWorksheet($filename); 
     $this->PhpExcel->getActiveSheet()->setCellValue('B1',$this->request->data['fromDate']); 
     $this->PhpExcel->getActiveSheet()->setCellValue('B2',$this->request->data['toDate']); 
     $this->PhpExcel->getActiveSheet()->setCellValue('B3',date('D-M-y')); 
     $row=6; 
     foreach($repostData as $rows) 
     { 
      $col = 0; 
      foreach($rows as $key =>$value) 
      { 
       $this->PhpExcel->getActiveSheet()->setCellValueExplicitByColumnAndRow($col, $row, $value); 
       $col++; 
      } 
      $row++; 
     } 
     $this->PhpExcel->save($reportFileName); 
     $this->PhpExcel->output(); 

I oluşturulan Excel levha ana Excel tabakanın klon olur ama ikisi de (nedeniyle, dönme tablolara aynı değildir) olduğu düşünülmektedir. Pivot tablo oluşturmak için herhangi bir iyi eğitim veya belge var mı?

+0

Github'da pivot tabloları için bir PR vardır, ancak serbest bırakılmaya hazır olmadan önce bazı ek çalışmalara ihtiyaç vardır çünkü stil kaydetmek için başarısız olacak, sadece tanımlanan pivot –

+0

@MarkBaker kullanıcı [vlasvlasvlas] (http://stackoverflow.com/users/863505/vlasvlasvlas) bir stil varsa o "için PR ilgileniyorsa çalışır github pivot tablolar "(ama bir yorum kendisi gönderemezsiniz). – Cimbali

+0

Bu [PR # 226] (https://github.com/PHPOffice/PHPExcel/pull/226): ancak, yalnızca OfficeOpenXML (.xlsx) dosyaları için geçerlidir ve (daha önce söylediğim gibi) çalışmayacaksa Pivot tablo –

cevap

1

Bu eski bir sorun olsa da, bir cevap vermek istiyorum: Birkaç ay önce aynı sorunu yaşadım ve nihayet kendi uygulamamı yapmam gerektiğine karar verdim (yani bu kendi reklamıdır ..)

Bu çözüm mükemmel olmaktan çok uzaktır - çünkü belki de bunu kullanan tek kişi benimdir - ancak tam olarak ne anlattığınızı yapıyor: Rapor oluşturmak için ham verileri bir "ana dosya" dosyasına yazdırarak raporlar oluşturmanızı sağlar:

+1

uygulanan herhangi bir stil vardır Bu harika bir yardımcı oldu. Küçük öneri, kaydedildiyse e-tablolar, açılışta otomatik olarak formüller hesaplamaz. Bu basitçe sabitlenebilir. Sana bir çek isteği gönderiyorum, umarım kabul edebilirsin. – nawfal

+0

Öneriniz için teşekkürler, yakında bu konuya bakacağım :-) – svrnm

+0

Test ettiğim birkaç farklı php elektronik tablo kütüphanesinden bahsetmeliyim ki, bu sadece işe yaradı. Kudos yap. Ama bunun sadece bu kesin durum için yazılmış çok temel bir kütüphane olduğunu söylemeliyim. – nawfal

İlgili konular