diff --git a/app/Exports/CommonExport.php b/app/Exports/CommonExport.php index b7f9104..cac9453 100755 --- a/app/Exports/CommonExport.php +++ b/app/Exports/CommonExport.php @@ -292,6 +292,16 @@ class CommonExport implements FromCollection, WithStyles, WithColumnWidths, With $endCol = $this->getColumnLetter($index + count(self::USERS_SUB_COLUMNS) - 1); $sheet->mergeCells("{$startCol}1:{$endCol}1"); $sheet->setCellValue("{$startCol}1", $label); + + // 确保第二行表头正确设置所有子列(包括缺失的列) + $subIndex = 0; + foreach (self::USERS_SUB_COLUMNS as $subField => $subLabel) { + $col = $this->getColumnLetter($index + $subIndex); + // 直接设置第二行表头,确保所有列都有值 + $sheet->setCellValue("{$col}2", $subLabel); + $subIndex++; + } + $index += count(self::USERS_SUB_COLUMNS); } elseif (str_contains($field, 'project_users')) { // 项目经理信息列:合并第一行的多个单元格 @@ -299,6 +309,15 @@ class CommonExport implements FromCollection, WithStyles, WithColumnWidths, With $endCol = $this->getColumnLetter($index + count(self::PROJECT_USERS_SUB_COLUMNS) - 1); $sheet->mergeCells("{$startCol}1:{$endCol}1"); $sheet->setCellValue("{$startCol}1", $label); + + // 确保第二行表头正确设置所有子列 + $subIndex = 0; + foreach (self::PROJECT_USERS_SUB_COLUMNS as $subField => $subLabel) { + $col = $this->getColumnLetter($index + $subIndex); + $sheet->setCellValue("{$col}2", $subLabel); + $subIndex++; + } + $index += count(self::PROJECT_USERS_SUB_COLUMNS); } elseif (str_contains($field, 'history_courses')) { // 历史课程信息列:合并第一行的多个单元格 @@ -306,6 +325,15 @@ class CommonExport implements FromCollection, WithStyles, WithColumnWidths, With $endCol = $this->getColumnLetter($index + count(self::HISTORY_COURSES_SUB_COLUMNS) - 1); $sheet->mergeCells("{$startCol}1:{$endCol}1"); $sheet->setCellValue("{$startCol}1", $label); + + // 确保第二行表头正确设置所有子列 + $subIndex = 0; + foreach (self::HISTORY_COURSES_SUB_COLUMNS as $subField => $subLabel) { + $col = $this->getColumnLetter($index + $subIndex); + $sheet->setCellValue("{$col}2", $subLabel); + $subIndex++; + } + $index += count(self::HISTORY_COURSES_SUB_COLUMNS); } else { // 其他列:合并第一行和第二行