| 123456789101112131415161718192021222324252627282930313233343536373839 |
- <?php
- namespace App\Exports;
- use Maatwebsite\Excel\Concerns\WithMultipleSheets;
- class ManActivityTimeCardMultipleSheetExport implements WithMultipleSheets
- {
- protected $projectsData;
- protected $year;
- /**
- * @param array $projectsData 格式为:[
- * 'RD01项目名' => [ [...行数据1], [...行数据2] ],
- * 'RD02项目名' => [ [...行数据1], [...行数据2] ],
- * ]
- * @param string $year
- */
- public function __construct(array $projectsData, string $year = '2024')
- {
- $this->projectsData = $projectsData;
- $this->year = $year;
- }
- /**
- * 定义多个 Sheet
- */
- public function sheets(): array
- {
- $sheets = [];
- foreach ($this->projectsData as $projectName => $data) {
- // 每一项都实例化之前写的那个 ProjectAnnualSalaryExport
- $sheets[] = new ManActivityTimeCardSheetExport($projectName, $data, $this->year);
- }
- return $sheets;
- }
- }
|