opnform/app/Exports/FormSubmissionExport.php

41 lines
984 B
PHP
Raw Permalink Normal View History

2022-09-20 19:59:52 +00:00
<?php
namespace App\Exports;
use Maatwebsite\Excel\Concerns\FromArray;
use Maatwebsite\Excel\Concerns\WithHeadingRow;
class FormSubmissionExport implements FromArray, WithHeadingRow
{
protected array $submissionData;
public function __construct(array $submissionData)
{
$headingRow = [];
$contentRow = [];
foreach ($submissionData as $i => $row) {
2024-02-23 10:54:12 +00:00
if ($i == 0) {
$headingRow[] = $this->cleanColumnNames(array_keys($row));
2022-09-20 19:59:52 +00:00
}
$contentRow[] = array_values($row);
}
$this->submissionData = [
$headingRow,
2024-02-23 10:54:12 +00:00
$contentRow,
2022-09-20 19:59:52 +00:00
];
}
private function cleanColumnNames(array $columnNames): array
{
return collect($columnNames)->map(function ($columnName) {
return preg_replace('/\s\(.*\)/', '', $columnName);
})->toArray();
}
2022-09-20 19:59:52 +00:00
public function array(): array
{
return $this->submissionData;
}
}