php easyexcel 动态表头导出
时间: 2023-08-04 10:23:23 浏览: 158
要使用 PHP 的 EasyExcel 库实现动态表头导出,可以按照以下步骤进行操作:
1. 安装 PHP 的 EasyExcel 库,可以使用 Composer 进行安装:
```
composer require "phpoffice/phpspreadsheet"
```
2. 使用 EasyExcel 创建一个新的 Excel 文件,并设置表头:
```php
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
// 创建一个新的 Spreadsheet 对象
$spreadsheet = new Spreadsheet();
// 获取当前活动的工作表
$worksheet = $spreadsheet->getActiveSheet();
// 设置表头
$headers = array(
array('text' => '姓名', 'width' => 20),
array('text' => '年龄', 'width' => 15),
array('text' => '性别', 'width' => 15)
);
$worksheet->fromArray($headers, NULL, 'A1');
```
3. 获取动态表头数据,将数据逐列添加到工作表中:
```php
// 获取动态表头数据
$dynamicHeaders = array(
array('text' => '语文', 'width' => 15),
array('text' => '数学', 'width' => 15),
array('text' => '英语', 'width' => 15)
);
// 将动态表头数据逐列添加到工作表中
$col = 'D';
foreach ($dynamicHeaders as $header) {
$worksheet->setCellValue($col . '1', $header['text'])
->getColumnDimension($col)
->setWidth($header['width']);
$col++;
}
```
4. 将数据逐行添加到工作表中:
```php
// 获取数据
$data = array(
array('张三', 20, '男', 80, 90, 70),
array('李四', 21, '女', 85, 95, 90),
array('王五', 19, '男', 70, 75, 80)
);
// 将数据逐行添加到工作表中
$row = 2;
foreach ($data as $rowdata) {
$col = 'A';
foreach ($rowdata as $cell) {
$worksheet->setCellValue($col . $row, $cell);
$col++;
}
$row++;
}
```
5. 将工作表保存为 Excel 文件:
```php
// 将工作表保存为 Excel 文件
$writer = new Xlsx($spreadsheet);
$writer->save('example.xlsx');
```
这样,就可以使用 PHP 的 EasyExcel 库实现动态表头导出了。