Space Base Space Base
+7 928 008-80-89
ru
  • en
  • es
  • Главная
  • Услуги
  • Портфолио
  • Библиотека
  • Контакты
  • Главная
  • Услуги
  • Портфолио
  • Библиотека
  • Контакты
  1. Библиотека
  2. PHP
  3. Экспорт данных в Excel на PHP
logo

Экспорт данных в Excel на PHP

31.01.2017

Создание новых файлов и выгрузки данных для программирования задача очень частая. Ранее уже рассматривались вопросы создания и записи данных в файл в PHP. Сегодня же рассмотрим создание файла Excel и выгрузка в него данных. Сфера применения такого подхода очень большая: от выгрузки прайс-листов до формирования сложных отчетов (для печати или отправки кому-либо).

Самым простым решением в таком случае, было бы формирование файла в формате SCV. MS Excel без особых сложностей сможет открыть такой файл и далее с этими данными можно работать привычными способами. Проблема только в том, что такой подход пригоден в основном для списочных или табличных форм данных. Если же мы имеем материал на вывод более сложный, возникнут сложности.

Для того, чтобы сформировать полноценный документ Excel со всеми возможностями оформления, удобнее будет воспользоваться библиотекой PHPExcel. Она включает в себя весь необходимый функционал по работе с файлами Excel. С ее помощью можно не только внести значения в нужные ячейки, но и объединять и применять отдельные стили оформления к каждой ячейке.

Скачать библиотеку можно здесь.

Далее разберем пример подключения и использования библиотеки PHPExcel.

// Подключение класса для работы с Excel
require_once("PHPExcel.php");
// Подключение класса для вывода данных в формате Excel
require_once("PHPExcel/Writer/Excel5.php");

// Создание объекта класса PHPExcel
$myXls = new PHPExcel();
// Указание на активный лист
$myXls->setActiveSheetIndex(0);
// Получение активного листа
$mySheet = $myXls->getActiveSheet();
// Указание названия листа книги
$mySheet->setTitle("Новый лист");

// Указываем значения для отдельных ячеек
$mySheet->setCellValue("A1", "1-я строка");
$mySheet->setCellValue("A2", "2-я строка");
$mySheet->setCellValue("A3", "3-я строка");
$mySheet->setCellValue("B1", "2-й столбец");

// HTTP-заголовки
header ("Expires: Mon, 1 Apr 1974 05:00:00 GMT");
header ("Last-Modified: " . gmdate("D,d M Y H: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=myFile.xls");

// Вывод файла
$objWriter = new PHPExcel_Writer_Excel5($myXls);
$objWriter->save("php://output");

Возможности оформления и применения стилей ячеек

// Выделить жерным
$mySheet ->getStyle("A1")->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);

// Выделение цветом
$mySheet ->getStyle("A1")->getFill()->getStartColor()->setRGB("FF0000");

// Положение текста по центру
$sheet->getStyle("A1")->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

// Назначение ширины столбцов
$mySheet ->getColumnDimension("A")->setWidth(50);

// Назначение высоты строк
$mySheet ->getRowDimension(1)->setRowHeight(16);

// Автоматическое назначение ширины столбца
$mySheet ->getColumnDimension("A")->setAutoSize(true);

 

Другие материалы:

Функция end в PHP, описание и примеры


Функция file_exists в PHP, описание и примеры


Функция fwrite в PHP, описание и примеры


Написать комментарий

Комментарии

В комментариях запрещено публиковать рекламные материалы. Все сообщения оправляются на модерацию и будут опубликованы, если не нарушают правил сайта после проверки.


коммент.

avatar

BlogChik

- 15 июня 2021, 09:01 ↓
Спасибо, было очень полезно :=)

Разработка сайтов

Корпоративный сайт
Интернет-магазин
Лендинг - одностраничный сайт
Сайт-визитка
Сайт-портфолио

Проектирование

Прототип, UX-дизайн

Дизайн

UI-дизайн
Логотип

+54 911 2801-4950

info@space-base.net
+7 928 008-80-89

Web-сайты для успешного бизнеса

Web-сайты для успешного бизнеса

Главная Услуги Портфолио События Библиотека Контакты
+7 928 008-80-89 Меню
Политика в отношении обработки персональных данных © Copyright 2014 - | Space-Base

Лучшее время начать свой проект - Сейчас!

Выбраны опции:

Отправить сообщение на:

Telegram WhatsApp

Отправляя сообщение, вы даете свое согласие на
обработку песональных данных