Download the PHP package webflyer67/phpspreadsheet-declarative without Composer

On this page you can find all versions of the php package webflyer67/phpspreadsheet-declarative. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package phpspreadsheet-declarative

phpspreadsheet-declarative

PhpSpreadsheet Declarative - декларативное создание таблиц. Позволяет быстро и просто создавать таблицы через привязку стилей и массива данных к шаблону. Сохранение результаты в форматах xlsx, xls, pdf, html.

Установка

Используйте composer чтобы установить PhpSpreadsheet Declarative в проект:

Руководство

Все примеры находятся в /examples, результаты их работы в /runtime

example01.php Быстрый старт - создание и сохранение документа

Writer::getWriter() - создание экземпляра объекта (новый xls документ) addData('users', $users)- привязка массива с данными addSheet($template) - добавление листа, в метод передается шаблон. Шаблон представляет ассоциативный массив установленного формата. sheetCaption - название листа tables - массив из шаблонов листов tables.bindTable - имя привязанного массива с данными tables.columns - массив шаблонов столбцов tables.columns.head - свойства заголовка tables.columns.body - свойства тела таблицы tables.columns.head.caption - текст в заголовке tables.columns.body.bindColumn - имя привязанного свойства из привязанного массива с данными

writeDocument($fileNameFull . '.xlsx') - сохранение документа на диск

example02.php Создание и сохранение документа в разных форматах, xlsx, xls, html, pdf(3 варианта)

writeDocument() - сохраняет документ на диск. Первым аргументом передается полный путь к файлу. По расширению файла автоматически выбирается нужный Writer. Для pdf существуют 3 Writer'а. Для кириллицы лучше всего работает MPdfWriter, он же установлен по умолчанию. Выбрать pdf-writer можно вторым аргументом функции ('m','tc','dom'). Можно сохранять несколько раз в разные форматы и между сохранениями добавлять листы.

example03.php Создание и отправка документа в браузер

sendDocument() - отправляет документ в браузер. Первым аргументом передается имя файла. По расширению файла автоматически выбирается нужный Writer и MIME-типы. После отправки происходит остановка работы.

example04.php Добавление метаданных файла

setMeta() - добавляет метаданные файла. В метод передается ассоциативный массив метаданных, в котором ключами являются названия методов Phpspreadsheet для управления метаданными.

example05.php Добавление формата листа

addSheet($template, $pageSetup) - вторым аргументом передаются настройки листа, такие же как в Phpspreadsheet

example06.php Высота строк, ширина колонок

Ширину столбца можно задать как в заголовке(рекомендуется), так и в теле tables.columns.head.width - ширина столбца(em) tables.columns.body.width - ширина столбца(em) Высота строки заголовка задаётся в tables.columns.head.height - высота строки(pt) Для установки высоты строки в теле таблицы следует определить в массиве с табличными данными специальное свойство, и указать его имя в tables.columns.body.bindHeight - имя привязанного свойства из привязанного массива с данными, который содержит высоту строки(pt)

example07.php Отступы

Можно задать отступы таблицы(в количествах ячеек) tables.marginTop - отступ сверху(строк) от предыдущей таблицы tables.marginLeft - отступ слева(столбцов) от левого края документа

example08.php Добавление стилей

addStyles($styles) - Добавление стилей. $styles - представляет собой массив ключ-значение, где ключ - имя стиля, значение - массив стилей, такой же как используется в phpspreadsheet. Стили могут применяться ко всей таблице, ко всему заголовку, ко всему телу, к ячейке заголовка, к столбцу тела или к ячейке тела. Стили задаются в виде массива имен стилей(если стиль один - можно задать строкой) из привязанного массива со стилями.

tables.styles.all - стили для всей таблицы tables.styles.head - стили для всех заголовков tables.styles.body - стили для тела таблицы

tables.columns.head.styles - стили для текущего заголовка tables.columns.body.styles - стили для текущего столбца tables.columns.body.bindStyles - имя привязанного свойства из привязанного массива с данными, который содержит стили

example09.php Многострочный заголовок

Возможно сделать заголовок из нескольких строк, нужно в tables.columns.head добавить несколько значений.

example10.php Объединение ячеек

Чтобы объединить ячейки в заголовке нужно задать идентификатор в свойстве tables.columns.head.mergeId. Ячейки с одинаковым идентификатором объединятся. Чтобы объединить ячейки в теле нужно задать tables.columns.body.bindMerge - имя привязанного свойства из привязанного массива с данными, который содержит идентификатор объединения

example11.php Добавление картинок, нет заголовка таблицы, пропуск столбцов

tables.columns.body.bindImage - имя привязанного свойства из привязанного массива с данными, который содержит настройки для Drawing. Можно задавать все параметры, характерные для Drawing, а также гиперссылку Hyperlink. В свойстве Path задаётся путь к картинке, на диске или url.

example12.php Гиперссылки

Для добавления гиперссылке в заголовке нужно добавить tables.columns.head.href В теле tables.columns.body.href - имя привязанного свойства из привязанного массива с данными, который содержит url для гиперссылки

example13.php Применение фильтров

Пока доступен только thousands - разделитель тысяч. tables.columns.head.filters tables.columns.body.filters

example14.php Несколько листов

Для добавления нескольких листов нужно несколько раз вызвать addSheet()

example15.php Несколько таблиц

Для добавления нескольких таблиц на одном листе нужно в tables добавить несколько элементов

example16.php Имитация заполнения статическими данными без привязки к таблицам

Если требуется добавить статические данные можно просто сделать заголовок таблицы без тела

example17.php Доступ к объекту Spreadsheet и редактирование его напрямую

getDocument() - Возвращает объект Spreadsheet для возможности вносить в него правки напрямую

example18.php Генерация сложного документа(демонстрация почти всех возможностей библиотеки)

В данном примере показана работа почти всех описываемых возможностей вместе.

Справочник

Методы

getWriter() - Инициализирует и возвращает экземпляр данного класса

setMeta($meta) - Устанавливает метаданные документа

addData($name, $array) - Добавляет массив из которого впоследствии будет сформировано тело таблицы

addDatas($array) - Обертка над addData, чтоб можно было одним массивом добавить несколько массивов данных

addStyle($name, $array) - Добавляет массива со стилями из которого впоследствии будут браться стили

addStyles($array) - Обертка над addStyle, чтоб можно было одним массивом добавить несколько массивов стилей

addSheet($template, $setup) - Добавляет лист к документу. В переданном шаблоне установлены связи со стилями и данными, по этому шаблону строится лист

getDocument() - Возвращает объект Spreadsheet для возможности вносить в него правки напрямую

writeDocument($pFilename, $pdfType) - Сохраняет файл на диск

sendDocument($filename, $pdfType) - Отсылает файл в браузер

Структура шаблона

tables - массив из шаблонов листов tables.bindTable - имя привязанного массива с данными tables.marginTop - отступ сверху(строк) от предыдущей таблицы tables.marginLeft - отступ слева(столбцов) от левого края документа tables.styles.all - стили для всей таблицы tables.styles.head - стили для всех заголовков tables.styles.body - стили для тела таблицы

tables.columns - массив шаблонов столбцов tables.columns.head - свойства заголовка tables.columns.head.caption - текст в заголовке tables.columns.head.width - ширина столбца(em) tables.columns.head.height - высота строки(pt) tables.columns.head.styles - стили для текущего заголовка tables.columns.head.mergeId - идентификатор объединения ячеек tables.columns.head.href - url для гиперссылки tables.columns.head.filters - фильтр(пока доступен только thousands - разделитель тысяч)

tables.columns.body - свойства тела таблицы tables.columns.body.bindColumn - имя привязанного свойства из привязанного массива с данными tables.columns.body.width - ширина столбца(em) tables.columns.body.bindHeight - имя привязанного свойства из привязанного массива с данными, который содержит высоту строки(pt) tables.columns.body.styles - стили для текущего столбца tables.columns.body.bindStyles - имя привязанного свойства из привязанного массива с данными, который содержит стили tables.columns.body.bindMerge - имя привязанного свойства из привязанного массива с данными, который содержит идентификатор объединения tables.columns.body.bindImage - имя привязанного свойства из привязанного массива с данными, который содержит настройки для Drawing. tables.columns.body.href - имя привязанного свойства из привязанного массива с данными, который содержит url для гиперссылки tables.columns.body.filters - фильтр(пока доступен только thousands - разделитель тысяч)


All versions of phpspreadsheet-declarative with dependencies

PHP Build Version
Package Version
Requires phpoffice/phpspreadsheet Version ^1.6
tecnickcom/tcpdf Version ^6.2
mpdf/mpdf Version ^7.1
dompdf/dompdf Version ^0.8
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package webflyer67/phpspreadsheet-declarative contains the following files

Loading the files please wait ....