2011-06-22 6 views
4

Excelexcelを使用してExcelを生成しています。PHPExcel - DBから取り出して行単位で書き込むことができます

for() 
    { 

    $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($col, $ex_row, $value); 
    } 

    $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); 

60カラム以上の60000レコード以上の膨大なデータ結果があります。

私はPHPExcelは、オブジェクト配列で、ファイルへの最後の書き込みで保存された値と、すべてを設定していると思います。 PHPが配列にうまくいかず、データが膨大なので、要求のタイムアウトエラーが発生しています。 行ごとに書き込む予定がないようにします。行ごとにExcelファイルに書き込み、最後に保存することは可能でしょうか?

+0

PHPexcelは大規模なデータセットではパフォーマンスが悪いことで有名です。 –

+0

Excel *は本当に必要なのですか、それともExcelと互換性がありますか?もしそうなら、CSVはどうですか? – cwallenpoole

+0

@cwallen実際の問題はMicrosoftです。私たちは現在csvを使用しています。正常に動作します。人々がmsexcel 2007にアップデートすると、csvを開くと警告メッセージが表示されます。本当に役に立たない – zod

答えて

0

作成のスピードが本当の問題とPHPはあなたにタイムアウトエラーを与えているという事実ではない場合、あなたは常にあなたのスクリプトの先頭でこれを置くことができます:

set_time_limit(0); 

0意志スクリプトが実行されて実行されるようにしてください。

+0

巨大な配列は大量のメモリを使います。時間は問題ではない – zod

関連する問題