Download the PHP package xv1t/opendocument-template without Composer
On this page you can find all versions of the php package xv1t/opendocument-template. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download xv1t/opendocument-template
More information about xv1t/opendocument-template
Files in xv1t/opendocument-template
Package opendocument-template
Short Description Rendering templates with multidimensional data into a reports
License MIT
Homepage https://github.com/xv1t/OpenDocumentTemplate
Informations about the package opendocument-template
Project name | OpenDocumentTemplate |
---|---|
Language | PHP |
Source files | ODS, ODT |
Fast generation OpenDocument reports
Support files: ODS
, ODT
Template | Report |
---|---|
Bill document template (ODS) | See the great manual /examples/documents |
Simple cards with data (ODS) | /examples/continents |
Dynamic pictures (ODS) | /examples/pictures |
15 level deep dimensions (ODS) | /examples/deepdata |
Recommended software for create template
- LibreOffice
- OpenOffice
Your done report files was correct opened in
- LibreOffice
- OpenOffice
- MS Office >=2010
Fast manual (ods)
- Create template ods file
- Put elements
- Mark ranges
- Load data from database
- Render data through template file info your new ods file
- Open in the LibreOffice Calc or other and enjoy
Requirements
Php extensions
- zip
- xml
Php version >=5.3
Recommended sowfware for templating: LibreOffice 5
Install
Put file OpenDocumentTemplate.php
into your project, and use it
First simple report
Prepare your data
Data - is array in php. Recommend all object fields group in object name.
All fields grouping in the Report
parent array.
This method of naming provides a powerful technique for multidimensional data.
Design template file
Open the LibreOffice Calc. Create new spreedsheet;
add a 3 cells for next contents:
[] | A | B | C |
---|---|---|---|
1 | [Report.name] | [Report.date] | [Report.author] |
2 | |||
3 |
Save it with name sample_report.ods
.
Render template with data
And open new file sample_report-out.ods
and you see in sheet:
[] | A | B | C |
---|---|---|---|
1 | Test Report | 2016-09-25 | Me |
2 | |||
3 |
Add second dimension
Add a key Cities
for the list of objects
All Cities
object must be have an identical list of the fields. In our example: name
, streets
, population
And all data
Add a other object as linear dimesion
Add inforamation about the mayor of the each city, in the sibling key Mayor
Add third dimesions
Add a key Squares
for the list of the squares in the each city
Example Square object:
And out $data
finish version:
Design a spreedsheet
[] | A | B | C | D | E |
---|---|---|---|---|---|
1 | [Report.name] | Author | [Report.author] | ||
2 | Cities | ||||
3 | City | [City.name] | |||
4 | Streets | [City.streets] | |||
5 | Population | [City.population] | |||
6 | Mayor | [Mayor.name] | |||
7 | Squares | ||||
8 | name | length | width | ||
9 | [Square.name] | [Square.length] | [Square.width] | ||
11 | Squares count | [COUNT(Squares)] | |||
12 | Cities count | [COUNT(Cities)] | |||
13 | Report date | [Report.date] |
Well, we have a 3 level dimension array of objects:
In LibreOffice Calc they are called Range names
.
Insert
-> Names
=> Manage
Examples
All versions of opendocument-template with dependencies
ext-zip Version *
ext-xml Version *