PlumExcel includes readers and writers for Microsoft Excel files for Plum. Plum is a data processing pipeline for PHP.
Developed by Florian Eckerstorfer in Vienna, Europe.
- Read Microsoft Excel (
.xlsx
and.xls
) files - Write Microsoft Excel (
.xlsx
and.xls
) files - Uses PHPExcel
You can install plum-excel
using Composer.
$ composer require plumphp/plum-excel
PlumExcel contains a reader and a writer for Plum. Please refer to the Plum documentation for more information about Plum.
You can also find examples of how to use ExcelReader
and ExcelWriter
in the
examples/
folder.
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.
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.
$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
.
$writer = new ExcelWriter(__DIR__.'/example.xlsx', $excel, 'Excel2007', $writer);
Reading Excel files is also pretty simple.
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.
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
.
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));
- #2 Handle items that are not arrays
- Fix Plum version
ExcelReader
supports filename as input- Add support for
Plum\Plum\Reader\ReaderFactory
- Initial release
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.