Создание Excel-файла на php

Допустим, есть массив значений $exportData.

Нужно сгенерировать excel-файл из массива. Делается это так:

	$excel = new PHPExcel();
	$excelWriter = PHPExcel_IOFactory::createWriter( $excel, 'Excel5' );

	foreach ( $exportData as $rowNum => $data )
	{
		$i = 0;
		foreach ( $data as $name => $value )
		{
			$excel->getActiveSheet()->setCellValueByColumnAndRow( $i, $rowNum + 2, '' . $value );
			++ $i;
		}
	}
	header("Content-Type: application/vnd.ms-excel\r\n");
	header("Content-Disposition: attachment; filename=\"my.xls\"\r\n");
	header("Cache-Control: max-age=0\r\n");
	$excelWriter->save('php://output');

Ссылка на документацию

5 комментариев so far.

  1. Bael:
    Хорошая информация.
    Зы в статье не хватает ссылки на класс php-excel.
  2. Спасибо, работает!
    Действительно для создания Excel-файла на php в формате Excel5 (Excel 2003) нужно только добавить в начале 3 строки
    _______________________________________________________________
    set_include_path(get_include_path() . PATH_SEPARATOR. ‘PHPExcel_dir’);
    include_once «PHPExcel.php»;
    include_once «PHPExcel/Writer/Excel5.php»;
    _______________________________________________________________
    где PHPExcel_dir — директория с Вашими PHPExcel — классами
  3. bullgare:
    2 Александр:

    я не затрагивал этот вопрос, просто у мне в этот момент автолоад срабатывает. спасибо за уточнение

  4. Борис:
    Здравствуйте! Спасибо. Скажите, а как создать два файла и поместить их в архив, используя указанную библиотеку? У меня в один файл не помещается похоже, пустой скачивается, если маленькими кусками то файлы не пустые скачиваются, но по отдельности не удобно

LEAVE A COMMENT