2008-10-22 2 views
4

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

Мне интересно создавать файлы Excel Excel 97 (xls). Мои ограниченные исследования по этому вопросу поднялись до Pear package. Он, похоже, находится в состоянии бета-статуса с 2006 года.

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

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

ответ

2

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

Если это простая электронная таблица, Office также может обрабатывать CSV, а PHP может output natively and easily.

+0

Я просто комментируя свой профиль ... еще Soer в районе Рочестер, штат Нью-Йорк ... Я нашел 3 до сих пор. – 2008-10-22 14:48:29

2

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

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

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

+0

Я думаю, что видел это раньше в ASP-приложении.Казалось, что он работает нормально, но то же самое, что и CSV в технических ограничениях. Я думаю, что Excel может также предупредить вас о непоследовательных типах файлов. – Nick 2008-10-22 14:48:38

0

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

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

1

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

header("Content-type: application/vnd.ms-excel"); 
header("Content-Disposition: attachment; filename=excel.xls"); 
2

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

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

2

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

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

Смежные вопросы