PlumExcel includes readers and writers for Microsoft Excel files for Plum. Plum is a data processing pipeline for
PHP., (*1)
, (*2)
Developed by Florian Eckerstorfer in Vienna, Europe., (*3)
Features
- Read Microsoft Excel (
.xlsx and .xls) files
- Write Microsoft Excel (
.xlsx and .xls) files
- Uses PHPExcel
Installation
You can install plum-excel using Composer., (*4)
$ composer require plumphp/plum-excel
Usage
PlumExcel contains a reader and a writer for Plum. Please refer to the
Plum documentation for more information about Plum., (*5)
You can also find examples of how to use ExcelReader and ExcelWriter in the
examples/ folder., (*6)
Write Excel files
Writing Excel files is extremely simply. Just pass the filename of the file to the constructor. If you want to add
a header row call the autoDetectHeader() method., (*7)
use Plum\PlumExcel\ExcelWriter;
$writer = new ExcelWriter(__DIR__.'/example.xlsx');
$writer->autoDetectHeader();
You can manually set the header names by calling the setHeader() method and passing an array with names., (*8)
$writer->setHeader(['Country Name', 'ISO 3166-1-alpha-2 code']);
However, if you want more control, you can also pass an instance of PHPExcel to the constructor and the format
(Excel2007 or Excel5) or an implementation of PHPExcel_Writer_IWriter., (*9)
$writer = new ExcelWriter(__DIR__.'/example.xlsx', $excel, 'Excel2007', $writer);
Read Excel files
Reading Excel files is also pretty simple., (*10)
use Plum\PlumExcel\ExcelReader;
$reader = new ExcelReader(__DIR__.'/example.xlsx');
Instead of a filename you can also pass an instance of PHPExcel to the constructor., (*11)
use Plum\PlumExcel\ExcelReader;
$excel = PHPExcel_IOFactory::load(__DIR__.'/example.xlsx');
$reader = new ExcelReader($excel);
Plum can automatically detect the headers by using Plum\Plum\Converter\HeaderConverter., (*12)
use Plum\Plum\Converter\HeaderConverter;
use Plum\Plum\Filter\SkipFirstFilter;
use Plum\PlumExcel\ExcelReader;
$workflow->addConverter(new HeaderConverter());
$workflow->addFilter(new SkipFirstFilter(1));
$workflow->process(new ExcelReader($filename));
Change Log
Version 0.3 (24 October 2015)
-
#2 Handle items that are not arrays
Version 0.2.1 (28 April 2015)
Version 0.2 (22 April 2015)
-
ExcelReader supports filename as input
- Add support for
Plum\Plum\Reader\ReaderFactory
Version 0.1 (21 April 2015)
License
The MIT license applies to plumphp/plum-excel. For the full copyright and license information,
please view the LICENSE file distributed with this source code., (*13)