看板 PHP 關於我們 聯絡資訊
由於我需要將資料庫的資料寫入Excel 可是資料庫的資料過於龐大,我使用下面方式去寫好像會寫不進去。 while($row_result=mysql_fetch_assoc($result))//把所有資料搜尋出來 { $objPHPExcel->getActiveSheet()->setCellValue('A'.$i,$row_result[ID]); $objPHPExcel->getActiveSheet()->setCellValue('B'.$i,$row_result[eNo]); $objPHPExcel->getActiveSheet()->setCellValue('C'.$i,$row_result[A]); $objPHPExcel->getActiveSheet()->setCellValue('D'.$i,$row_result[pt]); $objPHPExcel->getActiveSheet()->setCellValue('E'.$i,$row_result[EN]); $objPHPExcel->getActiveSheet()->setCellValue('F'.$i,$row_result[_CN]); $objPHPExcel->getActiveSheet()->setCellValue('G'.$i,$row_result[od]); $objPHPExcel->getActiveSheet()->setCellValue('H'.$i,$row_result[XXX]); $objPHPExcel->getActiveSheet()->setCellValue('I'.$i,$row_result[XXXXX]); $objPHPExcel->getActiveSheet()->setCellValue('J'.$i,$row_result[XXXX]); $objPHPExcel->getActiveSheet()->setCellValue('K'.$i,$row_result[XXX]); $objPHPExcel->getActiveSheet()->setCellValue('L'.$i,$row_result[XX]); $i++; } $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); $objWriter->save('UpPic/Acc_Buget.xls'); 由於這個方式好像是先把資料庫的資料全部存到記憶體 所以這樣記憶體會爆掉。 請問有沒有辦法分次寫入,然後每次都把記憶體清掉呢? 感謝各位大大。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.17.10.139
marcoyan:試試PEAR的Spreadsheet_Excel_Writer吧!~ 02/25 18:31
b95170088: ini_set('memory_limit','-1');試試 12/17 13:41