cawangan_detail = $cawangan_detail; $this->query = $query; $this->teller_with_lelongan_summary_data = $teller_with_lelongan_data; $this->summary_lelongan = $summary_lelongan; } public function title(): string { return 'SUMMARY LELONGAN'; } public function bindValue(Cell $cell, $value) { if (is_numeric($value)) { $cell->setValueExplicit($value, DataType::TYPE_NUMERIC); return true; } // else return default behavior return parent::bindValue($cell, $value); } public function columnWidths(): array { return [ 'A' => 28, 'B' => 14.67, 'C' => 16.00, 'D' => 14.18, ]; } public function columnFormats(): array { return [ 'E' => NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1, 'F' => NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1, 'G' => NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1, 'H' => NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1, 'I' => NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1, 'J' => NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1, 'C' => NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1, 'D' => NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1, 'K' => NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1, ]; } public function registerEvents(): array { $table_style = [ 'borders' => [ 'allBorders' => [ 'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN, 'color' => ['argb' => '#000000'], ], ], ]; $main_table_row_count = count($this->teller_with_lelongan_summary_data) + 1; $main_table_start_at_row = 9; $main_table_range = 'A' . $main_table_start_at_row . ':J' . ($main_table_row_count + $main_table_start_at_row); $summary_table_row_count = 1; $summary_table_start_at_row = $main_table_row_count + $main_table_start_at_row + 5; $summary_table_range = 'A' . $summary_table_start_at_row . ':I' . ($summary_table_row_count + $summary_table_start_at_row); $summary_table_column_head = 'A' . $summary_table_start_at_row . ':F' . $summary_table_start_at_row; // return [ // AfterSheet::class => function (AfterSheet $event) use ($main_table_range, $summary_table_range, $summary_table_column_head, $table_style) { // $event->sheet->getStyle($main_table_range)->applyFromArray($table_style); // $event->sheet->getStyle($summary_table_range)->applyFromArray($table_style); // $event->sheet->mergeCells($summary_table_column_head); // }, // ]; return []; } public function view(): View { return view('exports.lelongan.summary', [ 'cawangan_detail' => $this->cawangan_detail, 'query' => $this->query, 'teller_with_lelongan_data' => $this->teller_with_lelongan_summary_data, 'summary_lelongan' => $this->summary_lelongan, ]); } }