Записать несколько листов в файл электронной таблицы OpenOffice - PullRequest
0 голосов
/ 02 марта 2012

Я пытаюсь решить, как написать PHP, чтобы выполнить отчет с несколькими листами в файле электронной таблицы OpenOffice (AKA ods).Теперь я использовал этот код для генерации отчета электронной таблицы OpenOffice, но он может отображать только один лист:

<?php
// Export Calc SpreadSheet
header("Content-Type: application/vnd.ms-excel");
header('Content-Disposition: attachment; filename="Report.ods"');
?>

Как мне решить эту проблему?

1 Ответ

0 голосов
/ 21 ноября 2015

Существует множество библиотек, которые могут использоваться в PHP для создания, редактирования и обслуживания файлов электронных таблиц или рабочих книг (которые представляют собой набор листов ... фактически файл электронной таблицы является рабочей книгой, даже еслиэто всего лишь один лист).Есть очень известные, и некоторые не очень известные.

Большинство людей укажут на них:

есть еще несколько ответов на подобные вопросыодин, но есть огромное количество библиотек и опций.

Мой личный выбор для простого небольшого редактора формата openDocument в PHP был ods-php, который представляет собой один файл php, который вы включаете в свое приложение,и создать экземпляр.Я использую не создание документов ODS, а редактирование файлов шаблонов и обслуживание отредактированного документа.Вам придется писать свои собственные заголовки и отображать содержимое файла в вашей собственной функции в вашем PHP-приложении, но это совсем не сложно.

Существует [очень] простой пример php-файла, включенный в ods-php загрузка, которая показывает некоторые функции, но если вы можете следовать базовой логике PHP, вы можете просмотреть исходный код библиотеки и выяснить ее доступные функции.Я бы сказал, что он вполне подойдет для того, что вам нужно.

С другой стороны, если вы предпочитаете иметь в своем распоряжении больший API и ваш сервер достаточно приличный, чтобы справиться с этим, я быРекомендую любой из трех других.Имейте в виду, что остальные три довольно большие по сравнению, и у каждого есть свои сильные и слабые стороны:

PHPExcel, вероятно, наиболее часто используется в свободном сообществе и поддерживается на github постоянно (последний раз сталкивался с6 дней назад), но довольно большой.Документация доступна на сайте github (я предоставил их старую ссылку, которая ссылается на их github).

Spreadsheet_Excel_Writer - инструмент от Pear, и он такой же большой, хотя он больше не поддерживается, так что там есть«как есть».Команда разработчиков Pear ищет кого-то, кто возьмет на себя его обслуживание, но, насколько я могу судить, работа здесь есть.

openTBS - это расширение библиотеки TBS для TBS (TinyButStrong).Вы должны установить TBS, чтобы использовать openTBS, и это очень хорошая идея, чтобы включить zlib для возможностей сжатия ваших файлов.Если вы используете openTBS, вы не только получаете возможность создавать документы на основе XML, но и получаете функциональность всего механизма TBS в вашем распоряжении, что очень удобно, если вы хотите объединить исходные HTML-шаблоны с вашими PHP-скриптами (проверьте сайт, он может открыть для вас новые границы).

есть определенно больше библиотек и инструментов, но это самые заметные, которые я нашел в моем поиске.Мой выбор был основан на движущей силе, чтобы мой сервер был крошечным и автономным (он работает на малиновом пи).Если бы я выбрал громоздкий API производственной среды, я бы, вероятно, выбрал PHPExcel, потому что он имеет поддержку, необходимую для того, чтобы быть в курсе постоянно меняющихся форматов M $.

...