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.

CompoundCurrentSheet.php 23KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350
  1. <?php
  2. namespace App\Exports;
  3. use Maatwebsite\Excel\Concerns\FromCollection;
  4. use Maatwebsite\Excel\Concerns\WithHeadings;
  5. use Maatwebsite\Excel\Concerns\WithTitle;
  6. use Maatwebsite\Excel\Concerns\ShouldAutoSize;
  7. use Maatwebsite\Excel\Concerns\WithStrictNullComparison;
  8. use Maatwebsite\Excel\Concerns\WithCalculatedFormulas;
  9. use Maatwebsite\Excel\Concerns\WithStartRow;
  10. use Maatwebsite\Excel\Concerns\WithCustomStartCell;
  11. use PhpOffice\PhpSpreadsheet\Style\NumberFormat;
  12. use Maatwebsite\Excel\Concerns\WithColumnFormatting;
  13. use Maatwebsite\Excel\Concerns\WithEvents;
  14. use Maatwebsite\Excel\Events\BeforeExport;
  15. use Maatwebsite\Excel\Events\AfterSheet;
  16. use PhpOffice\PhpSpreadsheet\Cell\Coordinate;
  17. class CompoundCurrentSheet implements FromCollection, WithTitle, WithEvents, WithStrictNullComparison, WithCalculatedFormulas, WithCustomStartCell, WithColumnFormatting
  18. {
  19. protected $data, $year1, $year2, $end_date, $text_last_row1, $text_last_row2, $text_last_row3;
  20. public function __construct($data, $year1, $year2, $end_date)
  21. {
  22. $this->data = $data;
  23. $this->year1 = $year1;
  24. $this->year2 = $year2;
  25. $this->end_date = $end_date;
  26. }
  27. public function collection()
  28. {
  29. return collect($this->data);
  30. }
  31. public function title(): string
  32. {
  33. return 'LAP. KOMPAUN';
  34. }
  35. public function startCell(): string
  36. {
  37. return 'A11';
  38. }
  39. public function columnFormats(): array
  40. {
  41. return [
  42. 'B' => NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1,
  43. 'C' => NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1,
  44. 'D' => NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1,
  45. 'E' => NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1,
  46. 'F' => NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1,
  47. 'I' => NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1,
  48. 'J' => NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1,
  49. 'K' => NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1,
  50. 'L' => NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1,
  51. 'M' => NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1,
  52. ];
  53. }
  54. public function registerEvents(): array
  55. {
  56. return [
  57. AfterSheet::class => function(AfterSheet $event) {
  58. $column = ['B','C','H','I','J'];
  59. foreach ($column as $key => $c) {
  60. $event->sheet->getDelegate()->getColumnDimension($c)->setWidth(11.24);
  61. }
  62. $event->sheet->getDelegate()->getColumnDimension('A')->setWidth(6.71);
  63. $event->sheet->getDelegate()->getColumnDimension('D')->setWidth(12.14);
  64. $event->sheet->getDelegate()->getColumnDimension('K')->setWidth(12.14);
  65. $event->sheet->getDelegate()->getColumnDimension('E')->setWidth(10.57);
  66. $event->sheet->getDelegate()->getColumnDimension('L')->setWidth(10.57);
  67. $event->sheet->getDelegate()->getColumnDimension('F')->setWidth(11.86);
  68. $event->sheet->getDelegate()->getColumnDimension('M')->setWidth(11.86);
  69. $event->sheet->getDelegate()->getColumnDimension('G')->setWidth(9.43);
  70. $event->sheet->getDelegate()->getColumnDimension('N')->setWidth(9.43);
  71. $event->sheet->getDelegate()->getColumnDimension('H')->setWidth(10.86);
  72. $event->sheet->getDelegate()->getColumnDimension('O')->setWidth(10.86);
  73. // set up a style array for cell formatting
  74. $style_bold_text_center_arial = [
  75. 'alignment' => [
  76. 'horizontal' => 'center',
  77. 'vertical' => 'center',
  78. ],
  79. 'font' => [
  80. 'bold' => true,
  81. 'size' => 10,
  82. 'name' => 'Arial'
  83. ]
  84. ];
  85. $style_bold_text_center_calibri = [
  86. 'alignment' => [
  87. 'horizontal' => 'center',
  88. 'vertical' => 'center',
  89. ],
  90. 'font' => [
  91. 'bold' => true,
  92. 'size' => 10,
  93. 'name' => 'Calibri'
  94. ]
  95. ];
  96. $style_bold_text_right = [
  97. 'alignment' => [
  98. 'horizontal' => 'right',
  99. ],
  100. 'font' => [
  101. 'bold' => true,
  102. 'size' => 10,
  103. 'name' => 'Calibri'
  104. ]
  105. ];
  106. $style_normal_text_right = [
  107. 'alignment' => [
  108. 'horizontal' => 'right',
  109. ],
  110. 'font' => [
  111. 'bold' => false,
  112. 'size' => 10,
  113. 'name' => 'Calibri'
  114. ]
  115. ];
  116. $style_border = [
  117. 'borders' => [
  118. 'allBorders' => [
  119. 'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_MEDIUM,
  120. 'color' => ['argb' => '000000'],
  121. ],
  122. ],
  123. ];
  124. $style_border_top = [
  125. 'borders' => [
  126. 'top' => [
  127. 'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN,
  128. 'color' => ['argb' => '000000'],
  129. ],
  130. ],
  131. 'font' => [
  132. 'bold' => true,
  133. 'size' => 10,
  134. 'name' => 'Calibri'
  135. ],
  136. 'alignment' => [
  137. 'horizontal' => 'center',
  138. 'vertical' => 'center',
  139. ],
  140. ];
  141. if(count($this->data) > 0){
  142. // last column as letter value (e.g., D)
  143. $last_column = Coordinate::stringFromColumnIndex(count($this->data[0]));
  144. $second_last_column = Coordinate::stringFromColumnIndex(count($this->data[0])-1);
  145. // calculate last row + 1 (total results + header rows + column headings row + new row)
  146. $last_row = count($this->data) + 5 + 4 + 1 + 1;
  147. $last_row_data = count($this->data) + 5 + 4 + 1 + 1 + 4;
  148. // merge cells for full-width
  149. $event->sheet->mergeCells(sprintf('A1:%s1',$last_column));
  150. $event->sheet->mergeCells(sprintf('A2:%s2',$last_column));
  151. $event->sheet->mergeCells(sprintf('A3:%s3',$last_column));
  152. $event->sheet->mergeCells(sprintf('A4:%s4',$last_column));
  153. $event->sheet->mergeCells(sprintf('A5:%s5',$last_column));
  154. $event->sheet->mergeCells(sprintf('A%d:G%d',$last_row_data, $last_row_data));
  155. $event->sheet->mergeCells(sprintf('A%d:G%d',$last_row_data+3, $last_row_data+3));
  156. $event->sheet->mergeCells(sprintf('A%d:G%d',$last_row_data+6, $last_row_data+6));
  157. $event->sheet->mergeCells(sprintf('A%d:G%d',$last_row_data+9, $last_row_data+9));
  158. // merge cells for header
  159. $event->sheet->mergeCells('A6:A9');
  160. $event->sheet->mergeCells('B6:B9');
  161. $event->sheet->mergeCells('C6:C9');
  162. $event->sheet->mergeCells('D6:D9');
  163. $event->sheet->mergeCells('E6:F6');
  164. $event->sheet->mergeCells('E7:E9');
  165. $event->sheet->mergeCells('F7:F9');
  166. $event->sheet->mergeCells('G6:G9');
  167. $event->sheet->mergeCells('H6:H9');
  168. $event->sheet->mergeCells('I6:I9');
  169. $event->sheet->mergeCells('J6:J9');
  170. $event->sheet->mergeCells('K6:K9');
  171. $event->sheet->mergeCells('L6:M6');
  172. $event->sheet->mergeCells('L7:L9');
  173. $event->sheet->mergeCells('M7:M9');
  174. $event->sheet->mergeCells('N6:N9');
  175. $event->sheet->mergeCells('O6:O9');
  176. //assign cell values
  177. $event->sheet->setCellValue('A1','LAPORAN PERBEZAAN KUTIPAN KOMPAUN SEMASA ( '. strtoupper(date('d F Y', strtotime($this->end_date))).' )');
  178. $event->sheet->setCellValue('A2','JABATAN KHIDMAT PENGURUSAN BAHAGIAN PENGUATKUASA');
  179. $event->sheet->setCellValue('A3','MAJLIS DAERAH CAMERON HIGHLANDS');
  180. $event->sheet->setCellValue('A4','TAHUN '.$this->year1.'/'.$this->year2);
  181. $event->sheet->setCellValue('A5','');
  182. // Table TH (Head)
  183. $event->sheet->setCellValue('A6','BULAN');
  184. $event->sheet->setCellValue('B6', 'ANGGARAN TAHUN '.$this->year1);
  185. $event->sheet->setCellValue('C6','KOMPAUN KELUAR (RM)');
  186. $event->sheet->setCellValue('D6','PENGURANGAN KOMPAUN (RM)');
  187. $event->sheet->setCellValue('E6','KUTIPAN SEMASA');
  188. $event->sheet->setCellValue('E7','KUTIPAN BULANAN (RM)');
  189. $event->sheet->setCellValue('F7','KUTIPAN TERKUMPUL (RM)');
  190. $event->sheet->setCellValue('G6','% KUTIPAN');
  191. $event->sheet->setCellValue('H6','% TERKUMPUL');
  192. $event->sheet->setCellValue('I6','ANGGARAN TAHUN '.$this->year2);
  193. $event->sheet->setCellValue('J6','KOMPAUN KELUAR (RM)');
  194. $event->sheet->setCellValue('K6','PENGURANGAN KOMPAUN (RM)');
  195. $event->sheet->setCellValue('L6','KUTIPAN SEMASA');
  196. $event->sheet->setCellValue('L7','KUTIPAN BULANAN (RM)');
  197. $event->sheet->setCellValue('M7','KUTIPAN TERKUMPUL (RM)');
  198. $event->sheet->setCellValue('N6','% KUTIPAN');
  199. $event->sheet->setCellValue('O6','% TERKUMPUL');
  200. // Table TH (Footer)
  201. $event->sheet->setCellValue(sprintf('B%d',$last_row),'JUMLAH ');
  202. $event->sheet->setCellValue(sprintf('I%d',$last_row),'JUMLAH ');
  203. $event->sheet->setCellValue(sprintf('C%d',$last_row),'=SUM(C11:C'.$last_row.')');
  204. $event->sheet->setCellValue(sprintf('D%d',$last_row),'=SUM(D11:D'.$last_row.')');
  205. $event->sheet->setCellValue(sprintf('E%d',$last_row),'=SUM(E11:E'.$last_row.')');
  206. $event->sheet->setCellValue(sprintf('J%d',$last_row),'=SUM(J11:J'.$last_row.')');
  207. $event->sheet->setCellValue(sprintf('K%d',$last_row),'=SUM(K11:K'.$last_row.')');
  208. $event->sheet->setCellValue(sprintf('L%d',$last_row),'=SUM(L11:L'.$last_row.')');
  209. $event->sheet->setCellValue(sprintf('A%d',$last_row_data), '** Kutipan Kompaun Berdasarkan Kepada Anggaran Tahunan ');
  210. $event->sheet->setCellValue(sprintf('A%d', $last_row_data+3), '** Kutipan Kompaun Berdasarkan Kepada Anggaran Dikeluarkan ');
  211. $event->sheet->setCellValue(sprintf('A%d', $last_row_data+6), '** Jumlah Pengurangan Kompaun ');
  212. $event->sheet->setCellValue(sprintf('A%d', $last_row_data+9), '** Kutipan Kompaun Setelah ditolak pengurangan kompaun ');
  213. $event->sheet->setCellValue(sprintf('H%d', $last_row_data), '=L'.$last_row);
  214. $event->sheet->setCellValue(sprintf('H%d', $last_row_data+1), '=I11');
  215. $event->sheet->setCellValue(sprintf('H%d', $last_row_data+3), '=L'.$last_row);
  216. $event->sheet->setCellValue(sprintf('H%d', $last_row_data+4), '=J'.$last_row);
  217. $event->sheet->setCellValue(sprintf('H%d', $last_row_data+6), '=K'.$last_row);
  218. $event->sheet->setCellValue(sprintf('H%d', $last_row_data+7), '=J'.$last_row);
  219. $event->sheet->setCellValue(sprintf('H%d', $last_row_data+9), '=L'.$last_row);
  220. $event->sheet->setCellValue(sprintf('H%d', $last_row_data+10), '=J'.$last_row.'-K'.$last_row);
  221. $event->sheet->setCellValue(sprintf('I%d', $last_row_data), 'X 100 ');
  222. $event->sheet->setCellValue(sprintf('I%d', $last_row_data+3), 'X 100 ');
  223. $event->sheet->setCellValue(sprintf('I%d', $last_row_data+6), 'X 100 ');
  224. $event->sheet->setCellValue(sprintf('I%d', $last_row_data+9), 'X 100 ');
  225. $event->sheet->setCellValue(sprintf('J%d', $last_row_data), '=H'.$last_row_data.'/H'.($last_row_data+1).'*100');
  226. $event->sheet->setCellValue(sprintf('J%d', $last_row_data+3), '=H'.($last_row_data+3).'/H'.($last_row_data+4).'*100');
  227. $event->sheet->setCellValue(sprintf('J%d', $last_row_data+6), '=H'.($last_row_data+6).'/H'.($last_row_data+7).'*100');
  228. $event->sheet->setCellValue(sprintf('J%d', $last_row_data+9), '=H'.($last_row_data+9).'/H'.($last_row_data+10).'*100');
  229. $event->sheet->setCellValue(sprintf('K%d', $last_row_data), '%');
  230. $event->sheet->setCellValue(sprintf('K%d', $last_row_data+3), '%');
  231. $event->sheet->setCellValue(sprintf('K%d', $last_row_data+6), '%');
  232. $event->sheet->setCellValue(sprintf('K%d', $last_row_data+9), '%');
  233. // assign cell styles
  234. $event->sheet->getStyle('A1')->applyFromArray($style_bold_text_center_arial);
  235. $event->sheet->getStyle('A2:A4')->applyFromArray($style_bold_text_center_calibri);
  236. $event->sheet->getStyle(sprintf('A6:%s6',$last_column))->applyFromArray($style_bold_text_center_calibri);
  237. $event->sheet->getStyle('E6')->applyFromArray($style_bold_text_center_calibri);
  238. $event->sheet->getStyle('E7')->applyFromArray($style_bold_text_center_calibri);
  239. $event->sheet->getStyle('F7')->applyFromArray($style_bold_text_center_calibri);
  240. $event->sheet->getStyle('L6')->applyFromArray($style_bold_text_center_calibri);
  241. $event->sheet->getStyle('L7')->applyFromArray($style_bold_text_center_calibri);
  242. $event->sheet->getStyle('M7')->applyFromArray($style_bold_text_center_calibri);
  243. $event->sheet->getStyle('A6:O6')->getAlignment()->setWrapText(true);
  244. $event->sheet->getStyle('A7:O7')->getAlignment()->setWrapText(true);
  245. $event->sheet->getStyle(sprintf('B%d',$last_row))->applyFromArray($style_bold_text_right);
  246. $event->sheet->getStyle(sprintf('C%d',$last_row))->applyFromArray($style_bold_text_right)->getNumberFormat()->setFormatCode(\PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_NUMBER_00);
  247. $event->sheet->getStyle(sprintf('D%d',$last_row))->applyFromArray($style_bold_text_right)->getNumberFormat()->setFormatCode(\PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_NUMBER_00);
  248. $event->sheet->getStyle(sprintf('E%d',$last_row))->applyFromArray($style_bold_text_right)->getNumberFormat()->setFormatCode(\PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_NUMBER_00);
  249. $event->sheet->getStyle(sprintf('I%d',$last_row))->applyFromArray($style_bold_text_right);
  250. $event->sheet->getStyle(sprintf('J%d',$last_row))->applyFromArray($style_bold_text_right)->getNumberFormat()->setFormatCode(\PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_NUMBER_00);
  251. $event->sheet->getStyle(sprintf('K%d',$last_row))->applyFromArray($style_bold_text_right)->getNumberFormat()->setFormatCode(\PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_NUMBER_00);
  252. $event->sheet->getStyle(sprintf('L%d',$last_row))->applyFromArray($style_bold_text_right)->getNumberFormat()->setFormatCode(\PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_NUMBER_00);
  253. $event->sheet->getStyle(sprintf('A11:A%d',($last_row-1)))->applyFromArray($style_normal_text_right);
  254. $event->sheet->getStyle(sprintf('B11:B%d',($last_row-1)))->applyFromArray($style_normal_text_right);
  255. $event->sheet->getStyle(sprintf('C11:C%d',($last_row-1)))->applyFromArray($style_normal_text_right);
  256. $event->sheet->getStyle(sprintf('D11:D%d',($last_row-1)))->applyFromArray($style_normal_text_right);
  257. $event->sheet->getStyle(sprintf('E11:E%d',($last_row-1)))->applyFromArray($style_normal_text_right);
  258. $event->sheet->getStyle(sprintf('F11:F%d',($last_row-1)))->applyFromArray($style_normal_text_right);
  259. $event->sheet->getStyle(sprintf('G11:G%d',($last_row-1)))->applyFromArray($style_normal_text_right);
  260. $event->sheet->getStyle(sprintf('H11:H%d',($last_row-1)))->applyFromArray($style_normal_text_right);
  261. $event->sheet->getStyle(sprintf('I11:I%d',($last_row-1)))->applyFromArray($style_normal_text_right);
  262. $event->sheet->getStyle(sprintf('J11:J%d',($last_row-1)))->applyFromArray($style_normal_text_right);
  263. $event->sheet->getStyle(sprintf('K11:K%d',($last_row-1)))->applyFromArray($style_normal_text_right);
  264. $event->sheet->getStyle(sprintf('L11:L%d',($last_row-1)))->applyFromArray($style_normal_text_right);
  265. $event->sheet->getStyle(sprintf('M11:M%d',($last_row-1)))->applyFromArray($style_normal_text_right);
  266. $event->sheet->getStyle(sprintf('N11:N%d',($last_row-1)))->applyFromArray($style_normal_text_right);
  267. $event->sheet->getStyle(sprintf('O11:O%d',($last_row-1)))->applyFromArray($style_normal_text_right);
  268. $event->sheet->getStyle(sprintf('A%d:G%d',$last_row_data, $last_row_data))->applyFromArray($style_bold_text_right);
  269. $event->sheet->getStyle(sprintf('A%d:G%d',($last_row_data+3), ($last_row_data+3)))->applyFromArray($style_bold_text_right);
  270. $event->sheet->getStyle(sprintf('A%d:G%d',($last_row_data+6), ($last_row_data+6)))->applyFromArray($style_bold_text_right);
  271. $event->sheet->getStyle(sprintf('A%d:G%d',($last_row_data+9), ($last_row_data+9)))->applyFromArray($style_bold_text_right);
  272. $event->sheet->getStyle(sprintf('H%d', $last_row_data))->applyFromArray($style_bold_text_center_calibri)->getNumberFormat()->setFormatCode(\PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_NUMBER_00);
  273. $event->sheet->getStyle(sprintf('H%d', $last_row_data+3))->applyFromArray($style_bold_text_center_calibri)->getNumberFormat()->setFormatCode(\PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_NUMBER_00);
  274. $event->sheet->getStyle(sprintf('H%d', $last_row_data+6))->applyFromArray($style_bold_text_center_calibri)->getNumberFormat()->setFormatCode(\PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_NUMBER_00);
  275. $event->sheet->getStyle(sprintf('H%d', $last_row_data+9))->applyFromArray($style_bold_text_center_calibri)->getNumberFormat()->setFormatCode(\PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_NUMBER_00);
  276. $event->sheet->getStyle(sprintf('H%d', $last_row_data+1))->applyFromArray($style_border_top)->getNumberFormat()->setFormatCode(\PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_NUMBER_00);
  277. $event->sheet->getStyle(sprintf('H%d', $last_row_data+4))->applyFromArray($style_border_top)->getNumberFormat()->setFormatCode(\PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_NUMBER_00);
  278. $event->sheet->getStyle(sprintf('H%d', $last_row_data+7))->applyFromArray($style_border_top)->getNumberFormat()->setFormatCode(\PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_NUMBER_00);
  279. $event->sheet->getStyle(sprintf('H%d', $last_row_data+10))->applyFromArray($style_border_top)->getNumberFormat()->setFormatCode(\PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_NUMBER_00);
  280. $event->sheet->getStyle(sprintf('I%d', $last_row_data))->applyFromArray($style_bold_text_right);
  281. $event->sheet->getStyle(sprintf('I%d', $last_row_data+3))->applyFromArray($style_bold_text_right);
  282. $event->sheet->getStyle(sprintf('I%d', $last_row_data+6))->applyFromArray($style_bold_text_right);
  283. $event->sheet->getStyle(sprintf('I%d', $last_row_data+9))->applyFromArray($style_bold_text_right);
  284. $event->sheet->getStyle(sprintf('J%d', $last_row_data))->applyFromArray($style_bold_text_right)->getNumberFormat()->setFormatCode(\PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_NUMBER_00);
  285. $event->sheet->getStyle(sprintf('J%d', $last_row_data+3))->applyFromArray($style_bold_text_right)->getNumberFormat()->setFormatCode(\PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_NUMBER_00);
  286. $event->sheet->getStyle(sprintf('J%d', $last_row_data+6))->applyFromArray($style_bold_text_right)->getNumberFormat()->setFormatCode(\PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_NUMBER_00);
  287. $event->sheet->getStyle(sprintf('J%d', $last_row_data+9))->applyFromArray($style_bold_text_right)->getNumberFormat()->setFormatCode(\PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_NUMBER_00);
  288. $event->sheet->getStyle(sprintf('K%d', $last_row_data))->applyFromArray($style_bold_text_right);
  289. $event->sheet->getStyle(sprintf('K%d', $last_row_data+3))->applyFromArray($style_bold_text_right);
  290. $event->sheet->getStyle(sprintf('K%d', $last_row_data+6))->applyFromArray($style_bold_text_right);
  291. $event->sheet->getStyle(sprintf('K%d', $last_row_data+9))->applyFromArray($style_bold_text_right);
  292. // assign border styles
  293. $event->sheet->getStyle(sprintf('A6:A%d',$last_row))->applyFromArray($style_border);
  294. $event->sheet->getStyle(sprintf('B6:B%d',$last_row))->applyFromArray($style_border);
  295. $event->sheet->getStyle(sprintf('C6:C%d',$last_row))->applyFromArray($style_border);
  296. $event->sheet->getStyle(sprintf('D6:D%d',$last_row))->applyFromArray($style_border);
  297. $event->sheet->getStyle(sprintf('E6:E%d',$last_row))->applyFromArray($style_border);
  298. $event->sheet->getStyle(sprintf('F6:F%d',$last_row))->applyFromArray($style_border);
  299. $event->sheet->getStyle(sprintf('G6:G%d',$last_row))->applyFromArray($style_border);
  300. $event->sheet->getStyle(sprintf('H6:H%d',$last_row))->applyFromArray($style_border);
  301. $event->sheet->getStyle(sprintf('I6:I%d',$last_row))->applyFromArray($style_border);
  302. $event->sheet->getStyle(sprintf('J6:J%d',$last_row))->applyFromArray($style_border);
  303. $event->sheet->getStyle(sprintf('K6:K%d',$last_row))->applyFromArray($style_border);
  304. $event->sheet->getStyle(sprintf('L6:L%d',$last_row))->applyFromArray($style_border);
  305. $event->sheet->getStyle(sprintf('M6:M%d',$last_row))->applyFromArray($style_border);
  306. $event->sheet->getStyle(sprintf('N6:N%d',$last_row))->applyFromArray($style_border);
  307. $event->sheet->getStyle(sprintf('O6:O%d',$last_row))->applyFromArray($style_border);
  308. }
  309. },
  310. ];
  311. }
  312. }