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 *
Simple cards with data (ODS)
Dynamic pictures (ODS)
15 level deep dimensions (ODS)