opnform/app/Exports/FormSubmissionExport.php

42 lines
980 B
PHP
Raw 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) {
if($i==0){
$headingRow[] = $this->cleanColumnNames(array_keys($row));
2022-09-20 19:59:52 +00:00
}
$contentRow[] = array_values($row);
}
$this->submissionData = [
$headingRow,
$contentRow
];
}
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;
}
}