AssociadoImport.php 854 B

123456789101112131415161718192021222324252627
  1. <?php
  2. namespace App\Imports;
  3. use Illuminate\Support\Collection;
  4. use Maatwebsite\Excel\Concerns\ToCollection;
  5. use PhpOffice\PhpSpreadsheet\Shared\Date;
  6. class AssociadoImport implements ToCollection
  7. {
  8. public Collection $rows;
  9. public function collection(Collection $rows): void
  10. {
  11. $this->rows = $rows->skip(1)->values()->filter(function ($row) {
  12. return !empty(trim((string) ($row[0] ?? '')))
  13. && !empty(trim((string) ($row[1] ?? '')))
  14. && !empty(trim((string) ($row[2] ?? '')));
  15. })->map(function ($row) {
  16. return [
  17. 'registration' => trim((string) $row[0]),
  18. 'name' => trim((string) $row[1]),
  19. 'admission_date' => Date::excelToDateTimeObject($row[2] ?? '')->format('Y-m-d'),
  20. ];
  21. })->values();
  22. }
  23. }