Примеры по phpexcel. Создание excel-документа(.xlsx) на php

Примеры по phpexcel. Создание excel-документа(.xlsx) на php

Пример создания excel-документа(.xlsx) на php с помощью класс PHPEXCEL. На странице представлен пример подключения класса и вызов методов для создания документа. Также приведены примеры следующих возможностей: - заполнение ячеек - объединение ячеек - установка ширины колонки - выравнивание контента ячейки - заливка ячеек - рамки ячеек - размер шрифта в ячейках

//----------------------------------Пример--------------------------------------
date_default_timezone_set('Europe/London');
if (PHP_SAPI == 'cli') die('This example should only be run from a Web Browser');
require_once $_SERVER['DOCUMENT_ROOT']."/phpexcel/Classes/PHPExcel.php";/* подключаем класс */
$objPHPExcel = new PHPExcel();
$objPHPExcel->getProperties()->setCreator("афтор")
							 ->setLastModifiedBy("Maarten Balliauw")
							 ->setTitle("Office 2007 XLSX Test Document")
							 ->setSubject("Office 2007 XLSX Test Document")
							 ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.")
							 ->setKeywords("office 2007 openxml php")
							 ->setCategory("Test result file");
$objWorkSheet = $objPHPExcel->createSheet(0);/* номер листа */
/* 
....
здесь заполняем лист
....
 */
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="01simple.xlsx"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('php://output');
//------------------------------------------------------------------------

//----------------------------------Примеры оформления листа--------------------------------------
/* заполняем ячейки */
$objWorkSheet->setCellValue('A1', '1 этаж');

/* объединение ячеек */
$objWorkSheet->mergeCells('A1:A2');

/* устанавливаем ширину колонки */
$objWorkSheet->getColumnDimension('A')->setWidth(9);

/* выравниваем по центру (вертильно-горизонтально) */
$objWorkSheet->getStyle('A2')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER)->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);

/* заливаем ячейки нужным цветом - hex (b2b2b2) */
$objWorkSheet
	->getStyle('A1:A2')
	->getFill()
	->setFillType(PHPExcel_Style_Fill::FILL_SOLID)
	->getStartColor()
	->setRGB('hex'); 
	
/* устанавливаем бордер ячейкам */			
$styleArray = array(
  'borders' => array(
	'allborders' => array(
	  'style' => PHPExcel_Style_Border::BORDER_THIN
	)
  )
);
$objWorkSheet->getStyle('A1:A2')->applyFromArray($styleArray);

/* размер шрифта в ячейке */
$objWorkSheet->getStyle('A1')->getFont()->setSize(13);

/* Имя листа */
$objWorkSheet->setTitle('Прайс-лист '.$block_section);