feat(export): replace php-excel with PhpSpreadsheet for Excel export-Remove php-excel package and related usage

- Add PhpSpreadsheet package and update to latest version
- Implement new exportExcel function using PhpSpreadsheet
- Update admin controller to use new exportExcel function
- Remove redundant code and improve error handling
This commit is contained in:
wolfcode
2025-03-28 12:22:05 +08:00
parent 16975c4ee8
commit 3aaf030b89
5 changed files with 57 additions and 13 deletions

View File

@@ -54,7 +54,7 @@ class Log extends AdminController
}
#[NodeAnnotation(title: '导出', auth: true)]
public function export(): bool
public function export()
{
if (env('EASYADMIN.IS_DEMO', false)) {
$this->error('演示环境下不允许操作');
@@ -75,7 +75,6 @@ class Log extends AdminController
$model = (new self::$model)->setSuffix("_$month")->with('admin')->where($where);
try {
$list = $model
->where($where)
->limit(10000)
->order('id', 'desc')
->select()
@@ -84,11 +83,10 @@ class Log extends AdminController
$vo['content'] = json_encode($vo['content'], JSON_UNESCAPED_UNICODE);
$vo['response'] = json_encode($vo['response'], JSON_UNESCAPED_UNICODE);
}
}catch (PDOException|DbException $exception) {
exportExcel($header, $list, '操作日志');
}catch (\Throwable $exception) {
$this->error($exception->getMessage());
}
$fileName = time();
return Excel::exportData($list, $header, $fileName, 'xlsx');
}