Оценок пока нет Создание и заполнение файла Excel с библиотекой ExcelPHP

Про установку и подключении библиотеки в статье Чтение Excel из PHP.

Простой пример создания и заполнения файла средствами PHP на основе библиотеки ExcelPHP

<?php
//Поключаем основной класс
require_once $_SERVER['DOCUMENT_ROOT'].'/vendor/PHPExcel/Classes/PHPExcel.php';

//Создаем массив и заполняем некоторыми данными
//Некоторый исходный массив с данными
$users = Array(
    Array("login"=>"login1","name"=>"Имя1","surname"=>"Фамилия1","patronymic"=>"Фамилия1"),
    Array("login"=>"login2","name"=>"Имя2","surname"=>"Фамилия2","patronymic"=>"Фамилия2"),
    Array("login"=>"login3","name"=>"Имя3","surname"=>"Фамилия3","patronymic"=>"Фамилия3"),
    Array("login"=>"login4","name"=>"Имя4","surname"=>"Фамилия4","patronymic"=>"Фамилия4")
);
//Название файла
$fileName = "Название теста: ".$quiz->getName()."";
//Массив для заполнения;
$arrResult;
//Массив с индексом 0 для заголовков колонок
$arrResult[] = Array(0=>"Пользователь", 1=>"Имя", 2=>"Фамилия", 3=>"Отчество", 4=>"Правильно ответил",5=>"Из вопросов");

foreach ($users as $user) :
    $arrResult[] = Array(0=>$user["login"], 1=>$user["name"], 2=>$user["surname"], 3=>$user["patronymic"]);
endforeach;

//Заполняем наш файл Excel
$objPHPExcel = new PHPExcel();
$objPHPExcel->getProperties()
->setCreator("Temporaris")
->setLastModifiedBy("Temporaris")
->setTitle("Template Relevé des heures intérimaires")
->setSubject("Template excel")
->setDescription("Template excel permettant la création d'un ou plusieurs relevés d'heures")
->setKeywords("Template excel");
$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->SetCellValue('A1', $fileName);
for($i=0; $i<=(count($arrResult));$i++)
{
    $uLogin = $arrResult[$i][0];
    $uName = $arrResult[$i][1];
    $uSurname = $arrResult[$i][2];
    $uPatro = $arrResult[$i][3];
    //
    $ind = $i + 2;//нулевой строки в Excel нет, а первая для заголовка добавлен выше
    $objPHPExcel->getActiveSheet()->SetCellValue('A'.$ind, $uLogin);
    $objPHPExcel->getActiveSheet()->SetCellValue('B'.$ind, $uName);
    $objPHPExcel->getActiveSheet()->SetCellValue('C'.$ind, $uSurname);
    $objPHPExcel->getActiveSheet()->SetCellValue('D'.$ind, $uPatro);
}
//Сохраняем файл на сервере
$writer = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$writer->save($_SERVER['DOCUMENT_ROOT'] . "/files/result.xls");
//Теперь можно загрузить это через браузер
echo "<a class='btn btn-lg btn-success' href='".$_SERVER['DOCUMENT_ROOT']."/files/result.xls' download='Результаты.xls'>Загрузить в формате Excel</a>";
?>

 

Пожалуйста, оцените материал

WebSofter

Web - технологии