ikkez / f3-sheet
Some Excel and CSV utilities for PHP Fat-Free Framework
Installs: 13 206
Dependents: 0
Suggesters: 0
Security: 0
Stars: 11
Watchers: 1
Forks: 3
Open Issues: 0
This package is auto-updated.
Last update: 2024-12-06 17:52:57 UTC
README
Sheet
Some Excel and CSV utilities for PHP Fat-Free Framework.
Example from Array of Data
$excel = \Sheet::instance(); // data array $rows = [ [ "name" => "rose", "color" => "red", "num" => 15 ], [ "name" => "daisy", "color" => "yellow", "num" => 25, ], [ "name" => "orchid", "color" => "purple", "num" => 7 ] ]; // header array to rename the field labels and sort/reorder the data array $headers = ['name'=>'Name', 'num'=>'Number', 'color'=>'Flower Color']; $excel->renderXLS($rows,$headers,"flowers.xls");
In case your data array is not keyed, you can use the applyHeader
method to transform the array:
$rows = [ [ "rose", "red", 15 ], [ "daisy", "yellow", 25, ], [ "orchid", "purple", 7 ] ]; $rows = \Sheet::instance()->applyHeader($rows,['name','color','num']);
Example from Fat Free Mapper Object
//Setup mapper
$items = new \DB\SQL\Mapper($db,'mytable');
//Load all items and map to associative array
$all = array_map(array($items,'cast'),$items->find());
$csv = \Sheet::instance();
$csv->renderCSV($all, $items->fields(), "items.csv");
Notice
The generated XLS can have problems in older versions of MS Office (Excel) with number-formatted fields not being recognized as such (displayed as text instead) and text fields, that contain line breaks can also leads to problems there (missing text).
Nevertheless, these problems do not appear when opened with LibreOffice or OpenOffice or rendered as csv with renderCSV
instead and then imported to excel.
License
You are allowed to use this plugin under the terms of the GNU General Public License version 3 or later.
Copyright (C) 2017 Christian Knuth [ikkez]