ManMonthlyWorkHourMultipleSheetExport.php 762 B

123456789101112131415161718192021222324252627282930
  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. $config['company_name']
  21. );
  22. }
  23. return $sheets;
  24. }
  25. }