更新
This commit is contained in:
144
vendor/phpoffice/phpspreadsheet/README.md
vendored
Normal file
144
vendor/phpoffice/phpspreadsheet/README.md
vendored
Normal file
@@ -0,0 +1,144 @@
|
||||
# PhpSpreadsheet
|
||||
|
||||
[](https://github.com/PHPOffice/PhpSpreadsheet/actions)
|
||||
[](https://scrutinizer-ci.com/g/PHPOffice/PhpSpreadsheet/?branch=master)
|
||||
[](https://scrutinizer-ci.com/g/PHPOffice/PhpSpreadsheet/?branch=master)
|
||||
[](https://packagist.org/packages/phpoffice/phpspreadsheet)
|
||||
[](https://packagist.org/packages/phpoffice/phpspreadsheet)
|
||||
[](https://packagist.org/packages/phpoffice/phpspreadsheet)
|
||||
[](https://gitter.im/PHPOffice/PhpSpreadsheet)
|
||||
|
||||
PhpSpreadsheet is a library written in pure PHP and offers a set of classes that
|
||||
allow you to read and write various spreadsheet file formats such as Excel and LibreOffice Calc.
|
||||
|
||||
## PHP Version Support
|
||||
|
||||
LTS: Support for PHP versions will only be maintained for a period of six months beyond the
|
||||
[end of life](https://www.php.net/supported-versions) of that PHP version.
|
||||
|
||||
Currently the required PHP minimum version is PHP __7.4__, and we [will support that version](https://www.php.net/eol.php) until 28th June 2023.
|
||||
|
||||
See the `composer.json` for other requirements.
|
||||
|
||||
## Installation
|
||||
|
||||
Use [composer](https://getcomposer.org) to install PhpSpreadsheet into your project:
|
||||
|
||||
```sh
|
||||
composer require phpoffice/phpspreadsheet
|
||||
```
|
||||
|
||||
If you are building your installation on a development machine that is on a different PHP version to the server where it will be deployed, or if your PHP CLI version is not the same as your run-time such as `php-fpm` or Apache's `mod_php`, then you might want to add the following to your `composer.json` before installing:
|
||||
```json
|
||||
{
|
||||
"require": {
|
||||
"phpoffice/phpspreadsheet": "^1.28"
|
||||
},
|
||||
"config": {
|
||||
"platform": {
|
||||
"php": "7.4"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
and then run
|
||||
```sh
|
||||
composer install
|
||||
```
|
||||
to ensure that the correct dependencies are retrieved to match your deployment environment.
|
||||
|
||||
See [CLI vs Application run-time](https://php.watch/articles/composer-platform-check) for more details.
|
||||
|
||||
### Additional Installation Options
|
||||
|
||||
If you want to write to PDF, or to include Charts when you write to HTML or PDF, then you will need to install additional libraries:
|
||||
|
||||
#### PDF
|
||||
|
||||
For PDF Generation, you can install any of the following, and then configure PhpSpreadsheet to indicate which library you are going to use:
|
||||
- mpdf/mpdf
|
||||
- dompdf/dompdf
|
||||
- tecnickcom/tcpdf
|
||||
|
||||
and configure PhpSpreadsheet using:
|
||||
|
||||
```php
|
||||
// Dompdf, Mpdf or Tcpdf (as appropriate)
|
||||
$className = \PhpOffice\PhpSpreadsheet\Writer\Pdf\Dompdf::class;
|
||||
IOFactory::registerWriter('Pdf', $className);
|
||||
```
|
||||
or the appropriate PDF Writer wrapper for the library that you have chosen to install.
|
||||
|
||||
#### Chart Export
|
||||
|
||||
For Chart export, we support following packages, which you will also need to install yourself using `composer require`
|
||||
- [jpgraph/jpgraph](https://packagist.org/packages/jpgraph/jpgraph) (this package was abandoned at version 4.0.
|
||||
You can manually download the latest version that supports PHP 8 and above from [jpgraph.net](https://jpgraph.net/))
|
||||
- [mitoteam/jpgraph](https://packagist.org/packages/mitoteam/jpgraph) - up to date fork with modern PHP versions support and some bugs fixed.
|
||||
|
||||
and then configure PhpSpreadsheet using:
|
||||
```php
|
||||
// to use jpgraph/jpgraph
|
||||
Settings::setChartRenderer(\PhpOffice\PhpSpreadsheet\Chart\Renderer\JpGraph::class);
|
||||
//or
|
||||
// to use mitoteam/jpgraph
|
||||
Settings::setChartRenderer(\PhpOffice\PhpSpreadsheet\Chart\Renderer\MtJpGraphRenderer::class);
|
||||
```
|
||||
|
||||
One or the other of these libraries is necessary if you want to generate HTML or PDF files that include charts; or to render a Chart to an Image format from within your code.
|
||||
They are not necessary to define charts for writing to `Xlsx` files.
|
||||
Other file formats don't support writing Charts.
|
||||
|
||||
## Documentation
|
||||
|
||||
Read more about it, including install instructions, in the [official documentation](https://phpspreadsheet.readthedocs.io). Or check out the [API documentation](https://phpoffice.github.io/PhpSpreadsheet).
|
||||
|
||||
Please ask your support questions on [StackOverflow](https://stackoverflow.com/questions/tagged/phpspreadsheet), or have a quick chat on [Gitter](https://gitter.im/PHPOffice/PhpSpreadsheet).
|
||||
|
||||
## Patreon
|
||||
|
||||
I am now running a [Patreon](https://www.patreon.com/MarkBaker) to support the work that I do on PhpSpreadsheet.
|
||||
|
||||
Supporters will receive access to articles about working with PhpSpreadsheet, and how to use some of its more advanced features.
|
||||
|
||||
Posts already available to Patreon supporters:
|
||||
- The Dating Game
|
||||
- A look at how MS Excel (and PhpSpreadsheet) handle date and time values.
|
||||
- Looping the Loop
|
||||
- Advice on Iterating through the rows and cells in a worksheet.
|
||||
|
||||
And for Patrons at levels actively using PhpSpreadsheet:
|
||||
- Behind the Mask
|
||||
- A look at Number Format Masks.
|
||||
|
||||
The Next Article (currently Work in Progress):
|
||||
- Formula for Success
|
||||
- How to debug formulae that don't produce the expected result.
|
||||
|
||||
|
||||
My aim is to post at least one article each month, taking a detailed look at some feature of MS Excel and how to use that feature in PhpSpreadsheet, or on how to perform different activities in PhpSpreadsheet.
|
||||
|
||||
Planned posts for the future include topics like:
|
||||
- Tables
|
||||
- Structured References
|
||||
- AutoFiltering
|
||||
- Array Formulae
|
||||
- Conditional Formatting
|
||||
- Data Validation
|
||||
- Value Binders
|
||||
- Images
|
||||
- Charts
|
||||
|
||||
After a period of six months exclusive to Patreon supporters, articles will be incorporated into the public documentation for the library.
|
||||
|
||||
## 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 `master` branch.
|
||||
|
||||
Do you need to migrate? There is [an automated tool](/docs/topics/migration-from-PHPExcel.md) for that.
|
||||
|
||||
## License
|
||||
|
||||
PhpSpreadsheet is licensed under [MIT](https://github.com/PHPOffice/PhpSpreadsheet/blob/master/LICENSE).
|
||||
Reference in New Issue
Block a user