在使用 FastAdmin 和 ThinkPHP5 导出 Excel 文件时,可以借助 PHP 的第三方库,如 PhpSpreadsheet。以下是一个简单的实现步骤:
1. 安装 PhpSpreadsheet
使用 Composer 安装 PhpSpreadsheet。首先确保你的项目中已经安装了 Composer,然后运行以下命令:
composer require phpoffice/phpspreadsheet
2. 创建导出 Excel 的控制器方法
在 FastAdmin 的控制器中创建一个导出 Excel 的方法,例如 `exportExcel`。
<?php
namespace app\admin\controller;
use think\Controller;
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
class YourController extends Controller
{
public function exportExcel()
{
// 创建一个新的 Spreadsheet 对象
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
// 设置表格标题
$sheet->setCellValue('A1', 'ID');
$sheet->setCellValue('B1', 'Name');
$sheet->setCellValue('C1', 'Email');
// 这里是模拟数据,实际使用时可以从数据库中获取
$data = [
['id' => 1, 'name' => '叶斌兵', 'email' => '[email protected]'],
['id' => 2, 'name' => 'Jane Doe', 'email' => '[email protected]'],
// 更多数据...
];
// 填充数据到表格中
$row = 2;
foreach ($data as $item) {
$sheet->setCellValue('A' . $row, $item['id']);
$sheet->setCellValue('B' . $row, $item['name']);
$sheet->setCellValue('C' . $row, $item['email']);
$row++;
}
// 创建 Excel 文件
$writer = new Xlsx($spreadsheet);
// 设置文件下载响应
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="export.xlsx"');
header('Cache-Control: max-age=0');
// 将文件输出到浏览器
$writer->save('php://output');
exit;
}
}
3. 定义路由
在路由配置文件中添加导出 Excel 方法的路由。例如,在 `route.php` 中添加:
Route::get('export-excel', 'admin/YourController/exportExcel');
4. 访问导出链接
在浏览器中访问你定义的路由,例如 `https://www.ybb.press/export-excel`,即可下载生成的 Excel 文件。
以上步骤演示了如何在 FastAdmin 和 ThinkPHP5 中使用 PhpSpreadsheet 库导出 Excel 文件。你可以根据自己的需求进一步调整和优化代码。
通过这些简单的步骤,你就可以轻松地在 FastAdmin 和 ThinkPHP5 中实现 Excel 文件的导出功能,这对于需要将数据导出为电子表格格式的项目非常有用。
发表评论 取消回复