Büyük dosyalar için PHPExcel İhracat başarısız

0 Cevap php

Ben mysql datbase dayalı excel verilerini oluşturmak için PHPExcel kitaplığı kullanıyorum. 1,34,000 satırlarda MySQL sorgu sonuçları. Ve Excel bir çalışma sayfasında 65.536 Satırları destekler. Yani mantık gibi yaptı

foreach($result as $value)
{
    $val = array_values($value);

    if($rowscounter < 65000)
    {
        $objPHPExcel->addRow($val,$rowscounter);
    }
    else
    {
        $active_sheet++;
        $objPHPExcel->createSheet();
        $objPHPExcel->setActiveSheetIndex($active_sheet);
        $rowscounter = 1;
    }
    $rowscounter++;
}
// deliver header   
header("Content-Type: $mtype; charset=" . $objPHPExcel->sEncoding);
header("Content-Type:application/octet-stream");
header("Content-Disposition: inline; filename=\"" . $filename . ".$ext\"");

// Save it as an excel 2003 file
$objWriter = IOFactory::createWriter($objPHPExcel,$objPHPExcel->sFileFormat);
//echo "Peak memory usage: " . (memory_get_peak_usage(true) / 1024 / 1024) . " MB";exit;
$objWriter->save('php://output');

65000 kayıtları bir woeksheet uzandı sonra yeni bir çalışma sayfası oluşturun.

Ama bu işe yaramazsa; herhangi bir çıktı veya hata vererek değil. Başlangıçta Çünkü bellek sınırı Onun düşündüm. Ama yankılandı zaman 1400,5 MB zirve belleği gösterir ve ben kullanarak 3500MB benim kadar hafıza limitini ayarlamış ini_set('memory_limit', '3500M');

Bir şey ya da herhangi bir alternatif önermek misiniz?

0 Cevap