Local clone of [PhpSpreadsheet](https://github.com/PHPOffice/PhpSpreadsheet/)
Go to file
Roland Haeder 296cc69f0a Avoid array_key_exists(), unless we need to check NULL values (#35)
```php
<?php
$array = array(
	'str'  => 'foo',
	'num'  => 12345,
	'null' => NULL,
);

print intval(isset($array['null'])) . PHP_EOL;
print intval(array_key_exists($array['null'])) . PHP_EOL;
print intval(isset($array['num'])) . PHP_EOL;
print intval(array_key_exists($array['num'])) . PHP_EOL;
print intval(isset($array['str'])) . PHP_EOL;
print intval(array_key_exists($array['str'])) . PHP_EOL;
```

Only for this special case, you need array_key_exists(), else avoid it as it is
painfully slow and hurts your performance.

Signed-off-by: Roland Häder <roland@mxchange.org>
2016-10-26 20:01:11 +09:00
Documentation All constants are uppercase #25 2016-10-07 09:52:04 +09:00
samples Rename OOCalc and OpenDocument into Ods 2016-10-06 21:07:57 +09:00
src Avoid array_key_exists(), unless we need to check NULL values (#35) 2016-10-26 20:01:11 +09:00
tests Rename OOCalc and OpenDocument into Ods 2016-10-06 21:07:57 +09:00
.gitattributes Delete Build system 2016-08-26 18:11:03 +09:00
.gitignore Report coverage to Scrutinizer 2016-08-16 23:38:24 +09:00
.php_cs Reorganize code samples 2016-09-01 01:17:13 +09:00
.travis.yml Disable xdebug to speed up tests 2016-10-02 16:35:33 +09:00
CHANGELOG.md Rename OOCalc and OpenDocument into Ods 2016-10-06 21:07:57 +09:00
README.md Explain difference with PHPExcel 2016-10-03 20:35:10 +09:00
composer.json Update composer.json 2016-10-24 19:58:00 +09:00
license.md Added readme and license file 2012-07-05 07:24:57 +02:00
phpunit.xml.dist Respect PSR-0 with matching folder name and namespace `PhpSpreadsheetTests` 2016-08-25 13:53:15 +09:00

README.md

PhpSpreadsheet

Master: Build Status Code Quality Code Coverage Total Downloads Latest Stable Version License Join the chat at https://gitter.im/PHPOffice/PhpSpreadsheet

Develop: Build Status Code Quality Code Coverage

PhpSpreadsheet is a library written in pure PHP and providing a set of classes that allow you to read from and to write to different spreadsheet file formats, like Excel and LibreOffice Calc.

File formats supported

Format Reading Writing
Open Document Format/OASIS (.ods)
Office Open XML (.xlsx) Excel 2007 and above
BIFF 8 (.xls) Excel 97 and above
BIFF 5 (.xls) Excel 95
SpreadsheetML (.xml) Excel 2003
Gnumeric
HTML
SYLK
CSV
PDF (using either the tcPDF, DomPDF or mPDF libraries, which need to be installed separately)

Requirements

  • PHP version 5.5.0 or higher
  • PHP extension php_zip enabled (required if you need PhpSpreadsheet to handle .xlsx .ods or .gnumeric files)
  • PHP extension php_xml enabled
  • PHP extension php_gd2 enabled (optional, but required for exact column width autocalculation)

PHP version support

  • Support for PHP versions will only be maintained for a period of six months beyond the end-of-life of that PHP version

Want to contribute?

If you would like to contribute, here are some notes and guidelines:

  • All new development happens on feature/fix branches referenced with the GitHub issue number, and are then merged to the develop branch; so the develop branch is always the most up-to-date, working code
  • The master branch only contains tagged releases
  • If you are going to be submitting a pull request, please fork from develop, and submit your pull request back as a fix/feature branch referencing the GitHub issue number
  • Code changes must be validated by PHP-CS-Fixer and PHP_CodeSniffer (via ./vendor/bin/php-cs-fixer fix --verbose && ./vendor/bin/phpcs samples/ src/ tests/ --standard=PSR2 -n)
  • Helpful article about forking
  • Helpful article about pull requests

PHPExcel vs PhpSpreadsheet ?

PhpSpreadsheet is the next version of PHPExcel. It breaks compatibility to dramatically improve the code base quality (namespaces, PSR compliance, use of latest PHP language features, etc.).

Because all efforts have shifted to PhpSpreadsheet, PHPExcel will no longer be maintained. All contributions for PHPExcel, patches and new features, should target PhpSpreadsheet develop branch.

License

PhpSpreadsheet is licensed under LGPL (GNU LESSER GENERAL PUBLIC LICENSE)