Verilerimle bir PHPExcel nesnesi yükledikten sonra, bir dosyaya yazmak yerine, içeriği doğrudan bir php değişkenine göndermek istiyorum. Bunu yapmak için yöntemi özledim, çünkü kaydetmek için tek yol diske kaydetmek için görünüyor.Excel elektronik tablosumu PhpExcel kullanarak bir değişkene nasıl yazarım?
cevap
Diske kaydetmek veya php: // çıkışına kaydetmek için bir yazıcı kullanabilirsiniz. İkincisi, bu çıktıyı yakalamak ve daha sonra bir değişkende saklamak için çıktı arabelleği kullanabilirsiniz .... emin değilim neden bunu yapmak istiyorsanız.
stdout yakalamak eğer PHPExcel, her durumda diske dosyayı yazar yana$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
ob_start();
$objWriter->save('php://output');
$excelOutput = ob_get_clean();
ne içten eylem dosya bekletilmektedir, diskten okumak, sonra diske yazılır (ve silinmiş) olmasıdır ve daha sonra çıktı tamponunda yakalanır.
Sen de yapabilir:
$tmpfile = tempnam($tmp_dir, 'phpxltmp');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save($tmpfile);
$excelOutput = file_get_contents($tmpfile);
unlink($tmpfile);
Bu, bir kişinin buna nasıl yaklaşabileceğine dair sağduyu bir durumdur, Fakat bu yönteme yönelik birçok dezavantaj vardır .. Daha fazla işlem/zaman/alan gerektiren diski oluşturma/kullanma. Bu komut dosyası birden çok örnekte veya üst üste binerse, örnek başına farklı bir dosya oluşturmanız gerekir. Bu yolsuzluk/acess sorunlarına yol açabilir. OP, bir değişkene doğrudan bir değişkene değil, bir dosyaya doğrudan demişti. – Mayhem
Yanıt, bu dezavantajları zaten ele alıyor. "tempnam", örnek başına farklı bir dosya oluşturur ve PHPExcel her durumda bir dosya kullandığı için, görünüşte "düzden değişkene" yaklaşımı, bu ikisinin daha az verimli olmasıdır. Birçok durumda, "readfile" işlevini ya da akış işlemlerini yan yana bellek sorunlarıyla kullanmak ve performansları daha da artırmak mümkün olacaktır. Kabul edilen cevap daha basit görünmekle birlikte, ki bu da kendi içinde değerlidir, hala * bunun * kabul edilen cevap veya güvenilir bir alternatif olması gerektiğini düşünüyorum. – LSerni
- 1. Bir Excel elektronik tablosunu
- 2. Ruby kullanarak bir Excel elektronik tablosunun içeriğini nasıl okurum?
- 3. Bellekte bir Excel elektronik tablosu okuyun
- 4. PhpExcel
- 5. PHPExcel kitaplığında yazdırma hazır işlevselliği nasıl kullanılır
- 6. Bir Excel Elektronik Tablosu'ndaki C# Sayfasını Nasıl Değiştiririm
- 7. PHPExcel kullanarak excel'e html tablosu nasıl verilir?
- 8. ruby excel okuyucu, elektronik tablo mücevher
- 9. BinaryWriter kullanarak nasıl bir liste yazarım?
- 10. Excel elektronik tablo dosyasını parola olmadan kaydetme
- 11. Bir Excel dosyasını PHPExcel ile bir MySQL tablosuna aktarın.
- 12. PHPExcel Comment
- 13. Java ile bir Excel elektronik tablosuna makro ekleme
- 14. PHPExcel kütüphanesi kullanılarak excelden nasıl tarih alınacağı
- 15. PHPExcel Sütun Döngüsü
- 16. PHPExcel ile yeni bir satır ekleme?
- 17. Verilerimin kapsamlarını EPPlus kullanarak bir Excel dosyasına (.XLSX) nasıl bulabilirim?
- 18. Facebook uygulamalarını Django kullanarak nasıl yazarım?
- 19. phpExcel hücrede uzun numarasını yazın
- 20. C# ile oledb'yi kullanarak yalnızca Excel dışı elektronik tablo satırlarını nasıl yükleyebilirim?
- 21. PhpExcel Kütüphanesi Kullanarak Pivot Tabloları Üretmek veya Klonlamak Mümkün mü?
- 22. PHPExcel - bir hücreden saat değerini oku
- 23. Otomatik oluşturulan excel dosyaları yapmak için PHPExcel kullanma
- 24. phpExcel sütun boyutu
- 25. PHPExcel $ ve EUR
- 26. Excel xml elektronik tablo - görüntüleri gömmek mümkün mü?
- 27. PHPExcel anında yazma?
- 28. C# 'da sunucu tarafında Excel uyumlu bir Elektronik Tablo nasıl oluşturabilirim?
- 29. Javascript kullanarak başka bir tarayıcı penceresine nasıl içerik yazarım?
- 30. Microsoft Dynamics AX kullanarak bir txt dosyası nasıl yazarım?
teşekkür ederiz. Eğer bunu symfony gibi bir çerçevede kullanırsam, içeriği bir excel servisinden bir çeşit çıktı hizmeti veya kontrolörüne iletmem gerekebilir. Yazma vuruşunu diske atmayı tercih ederim. – Aaron
İnanılmaz derecede bellek açabilir, tüm dosyayı PHP bellekte tutuyor olabilirsiniz. –
Adil bir soru. Tavsiye için teşekkürler. – Aaron