Merge a9d8146ce93a8936ba564dd6f19cd8755088d010 into 8a1c48b6b0f2079cb751cbfccd90fcdc50556836

This commit is contained in:
madflow 2018-09-03 09:16:23 +00:00 committed by GitHub
commit ecbbb258f4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -8,7 +8,7 @@ This guide will help you install {{ site.spout_html }} and teach you how to use
## Requirements ## Requirements
* PHP version 5.4.0 or higher * PHP version 5.6.0 or higher
* PHP extension `php_zip` enabled * PHP extension `php_zip` enabled
* PHP extension `php_xmlreader` enabled * PHP extension `php_xmlreader` enabled
@ -34,7 +34,7 @@ If you can't use Composer, no worries! You can still install {{ site.spout_html
2. Extract the downloaded content into your project. 2. Extract the downloaded content into your project.
3. Add this code to the top controller (e.g. index.php) or wherever it may be more appropriate: 3. Add this code to the top controller (e.g. index.php) or wherever it may be more appropriate:
```php?start_inline=1 ```php
// don't forget to change the path! // don't forget to change the path!
require_once '[PATH/TO]/src/Spout/Autoloader/autoload.php'; require_once '[PATH/TO]/src/Spout/Autoloader/autoload.php';
``` ```
@ -46,8 +46,8 @@ require_once '[PATH/TO]/src/Spout/Autoloader/autoload.php';
Regardless of the file type, the interface to read a file is always the same: Regardless of the file type, the interface to read a file is always the same:
```php?start_inline=1 ```php
use Box\Spout\Reader\ReaderFactory; use Box\Spout\Reader\Common\Creator\EntityFactory as ReaderFactory;
use Box\Spout\Common\Type; use Box\Spout\Common\Type;
$reader = ReaderFactory::create(Type::XLSX); // for XLSX files $reader = ReaderFactory::create(Type::XLSX); // for XLSX files
@ -56,7 +56,9 @@ $reader = ReaderFactory::create(Type::XLSX); // for XLSX files
$reader->open($filePath); $reader->open($filePath);
/** @var $sheet Spout/Reader/XLSX/Sheet */
foreach ($reader->getSheetIterator() as $sheet) { foreach ($reader->getSheetIterator() as $sheet) {
/** @var $row Spout/Common/Entity/Row */
foreach ($sheet->getRowIterator() as $row) { foreach ($sheet->getRowIterator() as $row) {
// do stuff with the row // do stuff with the row
} }
@ -71,19 +73,23 @@ If there are multiple sheets in the file, the reader will read all of them seque
As with the reader, there is one common interface to write data to a file: As with the reader, there is one common interface to write data to a file:
```php?start_inline=1 ```php
use Box\Spout\Writer\WriterFactory; use Box\Spout\Writer\Common\Creator\EntityFactory as WriterFactory;
use Box\Spout\Common\Type; use Box\Spout\Common\Type;
$writer = WriterFactory::create(Type::XLSX); // for XLSX files $writer = WriterFactory::createWriter(Type::XLSX); // for XLSX files
//$writer = WriterFactory::create(Type::CSV); // for CSV files //$writer = WriterFactory::create(Type::CSV); // for CSV files
//$writer = WriterFactory::create(Type::ODS); // for ODS files //$writer = WriterFactory::create(Type::ODS); // for ODS files
$writer->openToFile($filePath); // write data to a file or to a PHP stream $writer->openToFile($filePath); // write data to a file or to a PHP stream
//$writer->openToBrowser($fileName); // stream data directly to the browser //$writer->openToBrowser($fileName); // stream data directly to the browser
$writer->addRow($singleRow); // add a row at a time /** @var $row Spout/Common/Entity/Row */
$writer->addRows($multipleRows); // add multiple rows at a time $row = WriterFactory::createRow();
$row->addCell(WriterFactory::createCell('I am a cell text'));
$writer->addRow($row); // add a row at a time
$writer->addRows([$row]); // add multiple rows at a time
$writer->close(); $writer->close();
``` ```