Могу ли я надежно создавать документы Excel из приложения PHP на сервере Linux? - PullRequest
4 голосов
/ 22 октября 2008

В каком состоянии генерируются документы Excel из приложения PHP на сервере Linux?

Я заинтересован в создании файлов Office 97 (xls) Excel. Мое ограниченное исследование на эту тему обнаружило Грушевый пакет . Похоже, что в бета-статусе с 2006 года.

Можете ли вы поделиться своими успехами или неудачами при создании файлов Excel из PHP? Доступен ли надежный и зрелый инструмент?

Обновление: для этого приложения мне нужно создать файл Excel, а не просто файл CSV.

Ответы [ 7 ]

3 голосов
/ 07 октября 2009

Есть нечто гораздо лучшее, чем пакет PEAR!

PHPExcel

2 голосов
/ 23 октября 2008

Я использовал PERL Spreadsheet :: WriteExcel в нескольких проектах без проблем. Возможно, вам придется внести некоторые исправления и обертки для улучшения функциональности и упрощения, но я нахожу это нормально.

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

2 голосов
/ 22 октября 2008

Я успешно использовал пакет PEAR, но есть некоторые ограничения при реализации сложных формул. Это как-то связано с тем, как Excel сохраняет формулу вместе с последним вычисленным результатом. Иногда, даже если формула верна, при первом открытии листа ячейки отображаются как пустые. Как только ячейка имеет фокус, а затем теряет фокус, вычисление выполняется и ячейка заполняется.

Библиотека на самом деле является портом из библиотеки perl, которая немного более полна, но имеет те же проблемы.

2 голосов
/ 22 октября 2008

Как насчет использования таблиц (электронная таблица - это таблица, так что все в порядке) и броска этих строк в начало PHP-сценария, который создает таблицы:

header("Content-Type: application/vnd.ms-excel");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");

Или вы можете просто создать CSV-файл, так как Excel может его красиво открыть.

2 голосов
/ 22 октября 2008

Я использовал этот пакет PEAR, и он отлично работает для меня для Office '97 -2000 совместимых файлов.

Если это простая электронная таблица, Office также может обрабатывать файлы CSV, которые PHP может выводить легко и просто .

1 голос
/ 22 октября 2008

Самый простой способ - использовать заголовок для «подделки» файла Excel. Вот код для начала загрузки в виде файла Excel, клиентский Excel просто проанализирует любой найденный HTML-код (таблицы, csv, ...) и отобразит его в хорошем формате, подобном Excel.

header("Content-type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=excel.xls");
0 голосов
/ 22 октября 2008

В настоящее время все находится в бета-статусе. Вам действительно нужны файлы Excel с forumlas и все такое, или вам просто нужно открыть список записей в Excel для работы?

Обычно я обнаружил, что, когда клиенту нужен файл Excel, на самом деле я могу просто сгенерировать файл CSV, и они могут работать с ним в Excel и добавлять формулы, которые им нужны по факту.

...