maraya / cake-php-excel
CakePHP 使用 PHPExcel 库生成的 Excel 生成器
v1.1.2
2015-02-23 18:08 UTC
Requires
- php: >=5.2.0
- ext-gd: *
- ext-xml: *
- ext-zip: *
- composer/installers: ~1.0
- phpoffice/phpexcel: ~1.8.0
This package is not auto-updated.
Last update: 2024-09-24 08:28:04 UTC
README
一个用于使用 CakePHP 生成 Excel 文件的插件。使用 CakePHP 视图文件生成,并使用 PHPExcel_IOFactory 类(来自 PHPExcel)。
要求
- PHP 5.2.8
- CakePHP 2.1+
- PHPExcel
- Composer
安装
将以下内容添加到您的 composer.json 文件中(maraya/cake-php-excel)
"require": {
"maraya/cake-php-excel": "1.1.*"
},
"config": {
"vendor-dir": "Vendor/"
},
"extra": {
"installer-paths": {
"Plugin/CakePHPExcel": ["maraya/cake-php-excel"]
}
}
然后运行
composer update
用法
在 app/Config/bootstrap.php
中添加
CakePlugin::load('CakePHPExcel',
array(
'routes' => true
)
);
将 RequestHandler 组件添加到 AppController 中,并将 Excel 扩展映射到 CakePHPExcel 插件
'RequestHandler' => array(
'viewClassMap' => array(
'xls' => 'CakeExcel.Excel',
'xlsx' => 'CakeExcel.Excel'
)
),
创建 Layouts/xls/default.ctp
(在此示例中字符集为 UTF-8)
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<?php echo $this->fetch('content'); ?>
</body>
</html>
将视图模板放在 xls
子目录中,例如:app/View/Reports/xls/clients.ctp
<h1>Title</h1>
<table width="100%" border="1">
<tr>
<td>col1</td>
<td>col2</td>
<td>col3</td>
</tr>
<tr>
<td>val1</td>
<td>val2</td>
<td>val3</td>
</tr>
</table>
然后在您的控制器中
class ReportsController extends AppController {
public function clients() {
$this->excelConfig = array(
'filename' => 'clients.xlsx'
);
}
}
调用 URL
http://example.com/reports/clients.xlsx
如果您想下载 Excel5 格式,请将 URL 扩展名从 xlsx 更改为 xls。
在您的视图文件中,您可以写入 HTML 代码。请参阅 PHPExcel 文档以获取有关如何使用 PHPExcel 的指南。