Dashboard sipadu mbip
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <?php
  2. namespace App\Exports;
  3. use App\Compound;
  4. use Maatwebsite\Excel\Concerns\FromCollection;
  5. use Maatwebsite\Excel\Concerns\Exportable;
  6. use Maatwebsite\Excel\Concerns\WithHeadings;
  7. use Maatwebsite\Excel\Concerns\WithEvents;
  8. use Maatwebsite\Excel\Events\AfterSheet;
  9. class CompoundExport implements FromCollection, WithHeadings, WithEvents
  10. {
  11. use Exportable;
  12. private $data, $jenis;
  13. public function __construct($data, $jenis)
  14. {
  15. $this->data = $data;
  16. $this->jenis = $jenis;
  17. }
  18. /**
  19. * @return \Illuminate\Support\Collection
  20. */
  21. public function collection()
  22. {
  23. return collect($this->data);
  24. }
  25. public function headings(): array
  26. {
  27. if($this->jenis == 'Pelbagai'){
  28. return [
  29. '#',
  30. 'Kpd',
  31. 'Jenis',
  32. 'Tarikh_Masa',
  33. 'Kesalahan',
  34. 'Nric',
  35. 'Nama',
  36. 'No_Daftar',
  37. 'Akaun_Lesen',
  38. 'No_Plate',
  39. 'Penguatkuasa',
  40. 'Status',
  41. 'Catatan_Dari_Admin',
  42. 'Amaun_Bayaran',
  43. 'Kemaskini_oleh',
  44. 'Tarikh_kemaskini',
  45. ];
  46. }else if($this->jenis == 'Parkir'){
  47. return [
  48. '#',
  49. 'Kpd',
  50. 'Jenis',
  51. 'Tarikh_Masa',
  52. 'Kesalahan',
  53. 'No_Plate',
  54. 'Penguatkuasa',
  55. 'Status',
  56. 'Catatan_Dari_Admin',
  57. 'Amaun_Bayaran',
  58. 'Kemaskini_oleh',
  59. 'Tarikh_kemaskini',
  60. ];
  61. }
  62. }
  63. public function registerEvents(): array
  64. {
  65. return [
  66. AfterSheet::class => function(AfterSheet $event) {
  67. $event->sheet->getStyle('A1:Z1')->applyFromArray([
  68. 'font' => [
  69. 'bold' => true
  70. ]
  71. ]);
  72. },
  73. ];
  74. }
  75. }