ResearchExpenseSummaryMultipleSheetExport.php 708 B

123456789101112131415161718192021222324252627
  1. <?php
  2. namespace App\Exports;
  3. use Maatwebsite\Excel\Concerns\WithMultipleSheets;
  4. class ResearchExpenseSummaryMultipleSheetExport implements WithMultipleSheets
  5. {
  6. protected $data;
  7. public function __construct(array $data)
  8. {
  9. $this->data = $data;
  10. }
  11. public function sheets(): array
  12. {
  13. $sheets = [];
  14. foreach ($this->data as $year => $payload) {
  15. // 从 payload 中提取动态表头,如果没有则给默认值
  16. $dynamicHeaders = $payload['dynamic_headers'] ?? ['人员人工费用', '折旧费用'];
  17. $sheets[] = new ResearchExpenseSummarySheetExport($year, $payload, $dynamicHeaders);
  18. }
  19. return $sheets;
  20. }
  21. }