| 123456789101112131415161718192021222324252627282930313233343536 |
- <?php
- namespace App\Exports;
- use Maatwebsite\Excel\Concerns\WithMultipleSheets;
- class ResearchExpenseMultipleSheetExport implements WithMultipleSheets
- {
- protected $sheetsData;
- /**
- * @param array $sheetsData 现在的格式应该是:
- * [
- * '2025-RD01' => ['project' => [...], 'data' => [...]],
- * '2025-RD02' => ['project' => [...], 'data' => [...]]
- * ]
- */
- public function __construct(array $sheetsData)
- {
- $this->sheetsData = $sheetsData;
- }
- public function sheets(): array
- {
- $sheets = [];
- foreach ($this->sheetsData as $sheetTitle => $content) {
- // 将每一个唯一的 Key (年份-项目) 传给具体的 Sheet 类
- $sheets[] = new ResearchExpenseSheetExport(
- (string)$sheetTitle, // 这里的 title 会显示在 Excel 标签页上
- $content['data'],
- $content['project'] ?? []
- );
- }
- return $sheets;
- }
- }
|