ManMonthlyWorkHourMultipleSheetExport.php 721 B

1234567891011121314151617181920212223242526272829
  1. <?php
  2. namespace App\Exports;
  3. use Maatwebsite\Excel\Concerns\WithMultipleSheets;
  4. class ManMonthlyWorkHourMultipleSheetExport implements WithMultipleSheets
  5. {
  6. protected $monthsData;
  7. public function __construct(array $monthsData)
  8. {
  9. $this->monthsData = $monthsData;
  10. }
  11. public function sheets(): array
  12. {
  13. $sheets = [];
  14. foreach ($this->monthsData as $monthName => $config) {
  15. // 传入 3 个参数,匹配子类新的构造函数
  16. $sheets[] = new ManMonthlyWorkHourSheetExport(
  17. (string)$monthName,
  18. $config['data'] ?? [],
  19. (int)($config['days'] ?? 30)
  20. );
  21. }
  22. return $sheets;
  23. }
  24. }