作者ta0306556 (POIL)
看板PHP
标题[请益] 请问phpExcel的问题
时间Thu Feb 10 18:53:03 2011
由於我需要将资料库的资料写入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
1F:推 marcoyan:试试PEAR的Spreadsheet_Excel_Writer吧!~ 02/25 18:31
2F:推 b95170088: ini_set('memory_limit','-1');试试 12/17 13:41