导出多个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 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;
标签:laravel,use,excel,导出,myHeadings,myArray,Excel,private,columns From: https://www.cnblogs.com/caroline2016/p/16905582.html