НОВОСТИ
Закончено опубликование всех проектов за 2009 и начало 2010 года. Маленький юбилей - общее количество проектов "перешагнуло" 90. Хотя каждый проект уникален в своем решении, качестве и подходе. И рассматривать "массу", не очень верный путь.
архив новостей
02.04.2010
СТАТЬИ - Excel отчеты в PHP (17.07.2004)

EXCEL ОТЧЕТЫ В PHP

ЛИТОШЕНКО Олег

Коротко: В данной статье рассматриваются два метода формирования Excel отчетов(файлов) в php.

Однажды я столкнулся с такой задачей как экспорт данных в xls файл под php. После долгого блуждания по конференциям и «факам» нашел парочку ссылок на скрипты, однако они были то платные, то не очень полными и функциональны. Хотелось не только выводить "голые" ячейки текста но и хотя бы примитивно их оформить в дизайне и размере. Пришлось «ваять» своими силами, благо под delphi уже был не визуальный компонент формирования структуры xls файла который уже давно работал под WinCgi.

В общем говоря существует 2 метода вывода отчета в xls формате. Рассмотрим поочередно каждый и выявим плюсы и минусы.

1. Метод первый – явное указание типа данных.
Можно при показе html страницы явно указать тип данных (application/x-msexcel) в заголовке http ответа. Тогда все таблицы, текст представляются Excel как таблицы с данными. Можно также писать формулы. Этот метод прост реализацией, просто вставил заголовок и все, однако за простотой кроется масса недостатков. Ну во первых, все данные которые будут "открыты" Excel фактически являются простым набором html и при сохранении на диск могут возникнут проблемы и путаницы. Если использовать функцию "сохранить как..." и ясно указать что будет xls файл, то тоже нет уверенности в верной конвертации. Во вторых, если необходимо отправлять отчет xls не ясно, а по почте, точнее сохранять физически на диск хостинга для дальнейшей работы, то этот метод не позволит это сделать.

пример реализации:
----

----

2. Метод второй – формирование структуры xls файла и работа с ним.
Создается буфер данных где указывается маркеры структур xls файла. После работы с этой структурой можно «отправить» файл в http для приема или показа или сохранить файл на диск для дальнейшей работы с ним. Список функций не полный, но я уверен что для простейшего составления отчетов с формированием и обрамлением как нельзя лучше подойдет.
Пример самого скрипта:
----

----
Библиотека и пример toExcell.zip (3Кб)
© Разработка ТОО "LiO Programs" 1999-2010
1-1 1-2
2-1
тел: +7 7252 558115
сот: +7 701 3528510, +7 700 4503956
web: www.lio.kz, www.hlp.kz
email: lio@lio.kz