laravel导出excel文件
安装代码包
composer require maatwebsite/excel
导出多个sheet
//ExportMulSheets.php namespace App\Exports; use Maatwebsite\Excel\Concerns\Exportable; use Maatwebsite\Excel\Concerns\WithMultipleSheets; class ExportMulSheets implements WithMultipleSheets { use Exportable; private $size; private $myArray; private $myHeadings; private $sheetNames; private $columns; public function __construct($size, $myArray, $myHeadings, $sheetNames, $columns) { $this->size = $size; $this->myArray = $myArray; $this->myHeadings = $myHeadings; $this->sheetNames = $sheetNames; $this->columns = $columns; } /** * @return array */ public function sheets(): array { $sheets = []; for ($i = 0; $i < $this->size; $i++) { $sheets[] = new ExportSheet($this->myArray[$i], $this->myHeadings[$i], $this->sheetNames[$i], $this->columns[$i]); } return $sheets; } }
//ExportSheet.php namespace App\Exports; use Maatwebsite\Excel\Concerns\WithHeadings; use Maatwebsite\Excel\Concerns\FromArray; use Maatwebsite\Excel\Concerns\WithTitle; use Maatwebsite\Excel\Concerns\ShouldAutoSize; use PhpOffice\PhpSpreadsheet\Style\NumberFormat; use Maatwebsite\Excel\Concerns\WithColumnFormatting; class ExportSheet implements FromArray, WithHeadings, WithTitle, ShouldAutoSize, WithColumnFormatting { private $myArray; private $myHeadings; private $title; private $columns; public function __construct($myArray, $myHeadings, $title, $columns = []) { $this->myArray = $myArray; $this->myHeadings = $myHeadings; $this->title = $title; $this->columns = $columns; } public function array(): array { return $this->myArray; } public function headings(): array { return $this->myHeadings; } public function title(): string { return $this->title; } public function columnFormats(): array { return $this->columns; } }
excel导出下载
use App\Exports\ExportMulSheets; use Maatwebsite\Excel\Facades\Excel; use PhpOffice\PhpSpreadsheet\Style\NumberFormat; $columns = ['F' => NumberFormat::FORMAT_PERCENTAGE_00]; //用于sheet列的格式设定 $excel = Excel::download(new ExportMulSheets(1, [$data], [$header], [$sheetName], [$columns]), $xlsFileName); return $excel;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix