2012-06-07 3 views
0

Я использую библиотеку phpexcel из codeplex для экспорта большого количества данных в файл excel (2007).Библиотека PHPEXCEL занимает много времени, чтобы загрузить

Проблема в том, что требуется много времени для выполнения ... Я использовал параметры кеша памяти и параметры кэша dir, которые существуют как часть библиотеки, и я отключил объекты после возвращения данных.
также я считаю, что в своем приложении я использую некоторые переменные для подсчета строк, включенных в цикл.
Любая идея или концепция, чтобы сделать скрипт быстрее или эффективнее, было бы замечательно.

ответ

1

я иногда должен проверить свой сайт для повышения производительности и часто учитывают их в своих решениях:

  • Наполнение каждый отдельный элемент является менее эффективным thqansing метод fromArray().
  • Если вы используете формулы, на их сайт, вы можете ускорить сохранение с $ objWriter-> setPreCalculateFormulas (ложным)

Edit:

Без знания углубленного, что вы я могу только предположить, что я могу предложить посмотреть, как улучшить заполнение ячеек:

Вместо этого: $ objPHPExcel-> getActiveSheet() -> setCellValue ('A1', $ x); $ objPHPExcel-> getActiveSheet() -> setCellValue ('B1', $ y);

Доступ getActiveSheet() только один раз, таким образом:

$sheet = $objPHPExcel->getActiveSheet(); 
$sheet->setCellValue('A1',$x); 
$sheet->setCellValue('B1',$y); 

Или смешайте обновление клеток, как это:

$objPHPExcel->getActiveSheet()->setCellValue('A1',$x) 
           ->setCellValue('B1',$y); 
+0

любезно, я не использовал формулу включены в моем сценарии ... –

+0

Есть несколько циклов включены и несколько счетчиков в моем скрипте и 51 столбцы, а с 2000 записей, что занимает более 1200 секунд ... –

+0

Как я делаю, чтобы сохранить действие экспорта очень быстро в большом количестве записей ?? –

Смежные вопросы