-
Notifications
You must be signed in to change notification settings - Fork 2
Report
Viames Marino edited this page Feb 23, 2026
·
1 revision
Pair\Services\Report is an abstract base for spreadsheet exports (PhpSpreadsheet).
save(string $filePath): booldownload(): void-
setTitle(string $title): self,setSubject(string $subject): self setBuilder(string $library): selfgetSpreadsheet(): Spreadsheet
Protected helpers for subclasses:
addColumn(string $head, ?string $format = null): selfaddRow(array $indexedCellsValue): voidsetDataAndColumnsFromDictionary(array $dictionary): selfsetDataAndColumnsFromObjects(array $objectList): self
final class OrdersReport extends \Pair\Services\Report {
public function build(array $rows): void {
$this->addColumn('Order #')
->addColumn('Customer')
->addColumn('Total');
foreach ($rows as $row) {
$this->addRow([$row['id'], $row['customer'], $row['total']]);
}
}
}
$report = new OrdersReport();
$report->setTitle('Orders')->build($data);
$report->save(APP_PATH . '/temp/orders.xlsx');- Override
beforeSave()andafterSave()for custom hooks. - Date/boolean format helpers are available in the base class.