[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Экспорт в Excel через PHPExcel
Bizon4ik
Доброе время суток.

У меня в админке есть кнопка для экспорта данных из БД в Excel. И на локальной машине (Denwer) все работает отлично.

Но на хостинге выдает ошибку:
Allowed memory size of 67108864 bytes exhausted (tried to allocate 71 bytes)

Подскажите это особенность PHPExce или все таки в моем корявом коде

П.С.: После выгрузки на локальной машине файл весит менее 2 мб



mysql_query('SET character_set_database = utf8');
mysql_query('SET NAMES utf8');

$validLocale = PHPExcel_Settings::setLocale('ru');
$xls = new PHPExcel();
$xls->setActiveSheetIndex(0);
$sheet = $xls->getActiveSheet();
$sheet->setTitle('Каталог Предприятий');


$sheet->setCellValue("A1", 'Каталог Предприятий');
$sheet->getStyle('A1')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
$sheet->getStyle('A1')->getFill()->getStartColor()->setRGB('EEEEEE');
$sheet->mergeCells('A1:E1');


$sheet->getStyle('A1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_ CENTER);

$query = mysql_query("SELECT * FROM ".TABLE_USER." WHERE `u_type`!=0 ORDER BY `u_id` ");

$j = 2;
while ($row = mysql_fetch_assoc($query)){
$j++;
$i=0;
foreach ($row as $key=>$value){
if ($key == 'u_email_verify_code') {continue;}
if ($key == 'u_mobile_key') {continue;}
if ($key == 'u_session_id') {continue;}
if ($key == 'u_mail_exchange_active') {continue;}
if ($key == 'u_logo_path') {continue;}

if ($j == 3) {
$sheet->setCellValueByColumnAndRow($i, $j, $key);

}

if ($key == 'u_city') {$value = city($value);}

$value = trim($value);
if ($key == 'u_comp_rub' and $value != "" ) {

$value = listOfRyb ($value, $cfg_comp_rubrics);

}


$sheet->setCellValueByColumnAndRow($i, $j+1, $value);

$i++;
}
}

header ( "Expires: Mon, 1 Apr 1974 05:00:00 GMT" );
header ( "Last-Modified: " . gmdate("D,d M YH:i:s") . " GMT" );
header ( "Cache-Control: no-cache, must-revalidate" );
header ( "Pragma: no-cache" );
header ( "Content-type: application/vnd.ms-excel" );
header ( "Content-Disposition: attachment; filename=catalog.xls" );

$objWriter = new PHPExcel_Writer_Excel5($xls);
$objWriter->save('php://output');

mysql_query("SET CHARACTER SET cp1251");
mysql_query("SET NAMES cp1251");


Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.