queencitycodefactory / cakespreadsheet
CakePHP 3 PHP Spreadsheet
Installs: 20 918
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 10
Forks: 0
Open Issues: 0
Type:cakephp-plugin
Requires
- php: >=7.2.0
- cakephp/cakephp: ^3.5.10
- phpoffice/phpspreadsheet: ^1.6.0
Requires (Dev)
- cakephp/cakephp-codesniffer: ^3.0
- phpunit/phpunit: ^5.7 | ^6.0
This package is auto-updated.
Last update: 2024-10-19 15:42:57 UTC
README
CakeSpreadsheet is a CakePHP 3.x plugin for generating Excel Files in the xlsx format using PHPOffice/PhpSpreadsheet.
Requirements
- CakePHP 3.x
- PHP 7.2
Installation
[Using Composer]
composer require queencitycodefactory/cakespreadsheet
Enable plugin
Load the plugin in your app's config/bootstrap.php
file:
Plugin::load('CakeSpreadsheet', ['bootstrap' => true, 'routes' => true]);
Usage
First, you'll want to setup extension parsing for the xlsx
extension. To do so, you will need to add the following to your config/routes.php
file:
// Set this before you specify any routes Router::extensions('xlsx');
Next, we'll need to add a viewClassMap entry to your Controller. You can place the following in your AppController:
public $components = [ 'RequestHandler' => [ 'viewClassMap' => [ 'xlsx' => 'CakeSpreadsheet.Spreadsheet', ], ] ];
Each application must have an xlsx layout. The following is a simple layout that can be placed in src/Template/Layout/xlsx/default.ctp
:
<?= $this->fetch('content') ?>
Finally, you can link to the current page with the .xlsx extension. This assumes you've created an xlsx/index.ctp
file in your particular controller's template directory:
$this->Html->link('Excel file', ['_ext' => 'xlsx']);
Inside your view file you will have access to the PhpOffice\PhpSpreadsheet\Spreadsheet
library by using $spreadsheet = $this->getSpreadsheet()
. Please see the PhpOffice\PhpSpreadsheet documentation for a guide on how to use PhpOffice\PhpSpreadsheet
.