getProperties()->setCreator("PC Master"); $objPHPExcel->getProperties()->setLastModifiedBy("PC Master"); $objPHPExcel->getProperties()->setTitle("Laporan"); $objPHPExcel->getProperties()->setSubject(""); $objPHPExcel->getProperties()->setDescription(""); $objPHPExcel->setActiveSheetIndex(0); $objPHPExcel->getDefaultStyle() ->getFont() ->setName("Calibri") ->setSize(11); //heading $objPHPExcel->getActiveSheet()->setTitle("$nama_sales"); $objPHPExcel->getActiveSheet()->setCellValue('A1', 'Laporan Komisi GP '.$judul); if ($jenis_periode==1) { $objPHPExcel->getActiveSheet()->setCellValue('A2', 'Rumus ('.$rumus.')'); $objPHPExcel->getActiveSheet()->setCellValue('A3', 'Total GP ('.$totGpAll.' | Rate '.$rateKomisi.' %)'); } else if ($jenis_periode==2) { $objPHPExcel->getActiveSheet()->setCellValue('A2', 'Periode Lunas '.$awal.' s.d '.$akhir); $objPHPExcel->getActiveSheet()->setCellValue('A3', 'Rumus ('.$rumus.')'); $objPHPExcel->getActiveSheet()->setCellValue('A4', 'Total GP ('.$totGpAll.' | Rate '.$rateKomisi.' %)'); } if ($jenis_periode==1) { $sel = array( 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J' ); $nt = [ 'No' => 'No', 'Nomor PO' => 'PO_SO', 'Nomor SO' => 'KODE_SO', 'Pelanggan' => 'NAMA_PELANGGAN', 'Nama Proyek' => 'PO_PROYEK', 'Nilai DPP' => 'SUBDPP', 'Nilai FEE' => 'SUBFEE', 'Nilai BIAYA' => 'SUBBIAYA', 'Nilai GP' => 'SUBGP', 'Nilai KOMISI' => 'SUBKOMISIFIX', ]; } else if ($jenis_periode==2) { $sel = array( 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N' ); $nt = [ 'No' => 'No', 'Nomor PO' => 'PO_SO', 'Nomor SO' => 'KODE_SO', 'Tanggal Nota' => 'TGLNOTA', 'Pelanggan' => 'NAMA_PELANGGAN', 'Nama Proyek' => 'PO_PROYEK', 'Nilai DPP' => 'SUBDPP', 'Nilai FEE' => 'SUBFEE', 'Nilai GP' => 'SUBGP', 'Komisi Awal' => 'SUBKOMISIAWAL', 'Komisi Akhir' => 'SUBKOMISIAKHIR', 'Status' => 'STATUS', 'Tanggal Lunas' => 'TGLLUNAS', 'Jarak' => 'JARAK', ]; } //Modified Style $objPHPExcel->getActiveSheet()->getStyle('A1')->getFont()->setSize(20); if ($jenis_periode==1) { $objPHPExcel->getActiveSheet()->getStyle('A2:A3')->getFont()->setSize(16); $start = "A5"; $colst = 5; } else if ($jenis_periode==2) { $objPHPExcel->getActiveSheet()->getStyle('A2:A4')->getFont()->setSize(16); $start = "A6"; $colst = 6; } $objPHPExcel->getActiveSheet()->mergeCells("A1:" . $sel[$jumlah_kolom - 1] . "1"); $objPHPExcel->getActiveSheet()->getStyle("A1")->getAlignment()->setHorizontal('HORIZONTAL_CENTER')->setVertical('VERTICAL_CENTER'); $objPHPExcel->getActiveSheet()->getStyle('A1')->getFont()->setBold(true); $objPHPExcel->getActiveSheet()->getStyle('A1')->getFont()->getColor()->setRGB('9400D3'); $objPHPExcel->getActiveSheet()->mergeCells("A2:" . $sel[$jumlah_kolom - 1] . "2"); $objPHPExcel->getActiveSheet()->getStyle("A2")->getAlignment()->setHorizontal('HORIZONTAL_CENTER')->setVertical('VERTICAL_CENTER'); $objPHPExcel->getActiveSheet()->getStyle('A2')->getFont()->setBold(true); $objPHPExcel->getActiveSheet()->getStyle('A2')->getFont()->getColor()->setRGB('008080'); $objPHPExcel->getActiveSheet()->mergeCells("A3:" . $sel[$jumlah_kolom - 1] . "3"); $objPHPExcel->getActiveSheet()->getStyle("A3")->getAlignment()->setHorizontal('HORIZONTAL_CENTER')->setVertical('VERTICAL_CENTER'); $objPHPExcel->getActiveSheet()->getStyle('A3')->getFont()->setBold(true); $objPHPExcel->getActiveSheet()->getStyle('A3')->getFont()->getColor()->setRGB('B22222'); if ($jenis_periode==2) { $objPHPExcel->getActiveSheet()->mergeCells("A4:" . $sel[$jumlah_kolom - 1] . "4"); $objPHPExcel->getActiveSheet()->getStyle("A4")->getAlignment()->setHorizontal('HORIZONTAL_CENTER')->setVertical('VERTICAL_CENTER'); $objPHPExcel->getActiveSheet()->getStyle('A4')->getFont()->setBold(true); $objPHPExcel->getActiveSheet()->getStyle('A4')->getFont()->getColor()->setRGB('202A44'); } $objPHPExcel->getActiveSheet()->getStyle($start.':' . $sel[$jumlah_kolom - 1] . $colst)->getFont()->setSize(13); $objPHPExcel->getActiveSheet()->getStyle($start.':' . $sel[$jumlah_kolom - 1] . $colst)->getFont()->setBold(true); $objPHPExcel->getActiveSheet()->getStyle($start.':' . $sel[$jumlah_kolom - 1] . $colst)->getFill()->applyFromArray( array( 'type' => 'FILL_SOLID', 'rotation' => 0, 'startcolor' => array( 'rgb' => '9fc5e8' ), 'endcolor' => array( 'argb' => 'FFFFFFFF' ) ) ); //set cell alignment if ($jenis_periode==1) { $objPHPExcel->getActiveSheet()->getStyle('A5')->getAlignment()->setHorizontal('HORIZONTAL_CENTER')->setVertical('VERTICAL_CENTER'); $objPHPExcel->getActiveSheet()->getStyle('F5')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_RIGHT)->setVertical('VERTICAL_CENTER'); $objPHPExcel->getActiveSheet()->getStyle('G5')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_RIGHT)->setVertical('VERTICAL_CENTER'); $objPHPExcel->getActiveSheet()->getStyle('H5')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_RIGHT)->setVertical('VERTICAL_CENTER'); $objPHPExcel->getActiveSheet()->getStyle('I5')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_RIGHT)->setVertical('VERTICAL_CENTER'); $objPHPExcel->getActiveSheet()->getStyle('J5')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_RIGHT)->setVertical('VERTICAL_CENTER'); $objPHPExcel->getActiveSheet()->getStyle('A')->getAlignment()->setHorizontal('HORIZONTAL_CENTER')->setVertical('VERTICAL_CENTER'); $objPHPExcel->getActiveSheet()->getStyle('B')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_LEFT)->setVertical('VERTICAL_CENTER'); $objPHPExcel->getActiveSheet()->getStyle('C')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_LEFT)->setVertical('VERTICAL_CENTER'); $objPHPExcel->getActiveSheet()->getStyle('D')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_LEFT)->setVertical('VERTICAL_CENTER'); $objPHPExcel->getActiveSheet()->getStyle('E')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_LEFT)->setVertical('VERTICAL_CENTER'); $objPHPExcel->getActiveSheet()->getStyle('F')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_RIGHT)->setVertical('VERTICAL_CENTER'); $objPHPExcel->getActiveSheet()->getStyle('G')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_RIGHT)->setVertical('VERTICAL_CENTER'); $objPHPExcel->getActiveSheet()->getStyle('H')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_RIGHT)->setVertical('VERTICAL_CENTER'); $objPHPExcel->getActiveSheet()->getStyle('I')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_RIGHT)->setVertical('VERTICAL_CENTER'); $objPHPExcel->getActiveSheet()->getStyle('J')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_RIGHT)->setVertical('VERTICAL_CENTER'); } else if ($jenis_periode==2) { $objPHPExcel->getActiveSheet()->getStyle('A6')->getAlignment()->setHorizontal('HORIZONTAL_CENTER')->setVertical('VERTICAL_CENTER'); $objPHPExcel->getActiveSheet()->getStyle('D6')->getAlignment()->setHorizontal('HORIZONTAL_CENTER')->setVertical('VERTICAL_CENTER'); $objPHPExcel->getActiveSheet()->getStyle('G6')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_RIGHT)->setVertical('VERTICAL_CENTER'); $objPHPExcel->getActiveSheet()->getStyle('H6')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_RIGHT)->setVertical('VERTICAL_CENTER'); $objPHPExcel->getActiveSheet()->getStyle('I6')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_RIGHT)->setVertical('VERTICAL_CENTER'); $objPHPExcel->getActiveSheet()->getStyle('J6')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_RIGHT)->setVertical('VERTICAL_CENTER'); $objPHPExcel->getActiveSheet()->getStyle('K6')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_RIGHT)->setVertical('VERTICAL_CENTER'); $objPHPExcel->getActiveSheet()->getStyle('M6')->getAlignment()->setHorizontal('HORIZONTAL_CENTER')->setVertical('VERTICAL_CENTER'); $objPHPExcel->getActiveSheet()->getStyle('N6')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_RIGHT)->setVertical('VERTICAL_CENTER'); $objPHPExcel->getActiveSheet()->getStyle('A')->getAlignment()->setHorizontal('HORIZONTAL_CENTER')->setVertical('VERTICAL_CENTER'); $objPHPExcel->getActiveSheet()->getStyle('B')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_LEFT)->setVertical('VERTICAL_CENTER'); $objPHPExcel->getActiveSheet()->getStyle('C')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_LEFT)->setVertical('VERTICAL_CENTER'); $objPHPExcel->getActiveSheet()->getStyle('D')->getAlignment()->setHorizontal('HORIZONTAL_CENTER')->setVertical('VERTICAL_CENTER'); $objPHPExcel->getActiveSheet()->getStyle('E')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_LEFT)->setVertical('VERTICAL_CENTER'); $objPHPExcel->getActiveSheet()->getStyle('F')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_LEFT)->setVertical('VERTICAL_CENTER'); $objPHPExcel->getActiveSheet()->getStyle('G')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_RIGHT)->setVertical('VERTICAL_CENTER'); $objPHPExcel->getActiveSheet()->getStyle('H')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_RIGHT)->setVertical('VERTICAL_CENTER'); $objPHPExcel->getActiveSheet()->getStyle('I')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_RIGHT)->setVertical('VERTICAL_CENTER'); $objPHPExcel->getActiveSheet()->getStyle('J')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_RIGHT)->setVertical('VERTICAL_CENTER'); $objPHPExcel->getActiveSheet()->getStyle('K')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_RIGHT)->setVertical('VERTICAL_CENTER'); $objPHPExcel->getActiveSheet()->getStyle('L')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_LEFT)->setVertical('VERTICAL_CENTER'); $objPHPExcel->getActiveSheet()->getStyle('M')->getAlignment()->setHorizontal('HORIZONTAL_CENTER')->setVertical('VERTICAL_CENTER'); $objPHPExcel->getActiveSheet()->getStyle('N')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_RIGHT)->setVertical('VERTICAL_CENTER'); } //lebar kolom $objPHPExcel->getActiveSheet()->getColumnDimension('A')->setAutoSize(true); $objPHPExcel->getActiveSheet()->getColumnDimension('B')->setAutoSize(true); $objPHPExcel->getActiveSheet()->getColumnDimension('C')->setAutoSize(true); $objPHPExcel->getActiveSheet()->getColumnDimension('D')->setAutoSize(true); $objPHPExcel->getActiveSheet()->getColumnDimension('E')->setAutoSize(true); $objPHPExcel->getActiveSheet()->getColumnDimension('F')->setAutoSize(true); $objPHPExcel->getActiveSheet()->getColumnDimension('G')->setAutoSize(true); $objPHPExcel->getActiveSheet()->getColumnDimension('H')->setAutoSize(true); $objPHPExcel->getActiveSheet()->getColumnDimension('I')->setAutoSize(true); $objPHPExcel->getActiveSheet()->getColumnDimension('J')->setAutoSize(true); if ($jenis_periode==2) { $objPHPExcel->getActiveSheet()->getColumnDimension('K')->setAutoSize(true); $objPHPExcel->getActiveSheet()->getColumnDimension('L')->setAutoSize(true); $objPHPExcel->getActiveSheet()->getColumnDimension('M')->setAutoSize(true); $objPHPExcel->getActiveSheet()->getColumnDimension('N')->setAutoSize(true); } //Isi Name Tabel $no = 0; foreach ($nama_tabel as $tbl) { $objPHPExcel->getActiveSheet()->setCellValue($sel[$no].$colst, $tbl); $no++; } //Isi Laporan $no = 0; $nolpr = 1; $nocell = $colst+1; $a = 0; $b = 0; $c = 0; $po_so = NULL; $id_pelanggan = NULL; $id_proyek = NULL; foreach ($laporan as $lprn) { if ($lprn['SHOW']==1) { foreach ($nama_tabel as $tbl) { if ($tbl == "No") { $objPHPExcel->getActiveSheet()->setCellValue($sel[$no] . '' . $nocell . '', $nolpr); } else if ($tbl == "Pelanggan") { $objPHPExcel->getActiveSheet()->setCellValue($sel[$no] . '' . $nocell . '', $lprn[$nt[$tbl]] . ' (' . $lprn['NAMA_KOTA'] . ')'); } else { $objPHPExcel->getActiveSheet()->setCellValue($sel[$no] . '' . $nocell . '', $lprn[$nt[$tbl]]); } $no++; } if ($po_so==$lprn['PO_SO']) { $a++; } else { if ($a>0) { $aa = $nocell-1; $bar = $aa-$a; $objPHPExcel->getActiveSheet()->mergeCells('B'.$bar.':B'.$aa); } $a = 0; $po_so = $lprn['PO_SO']; } if ($id_pelanggan==$lprn['PEL_ID']) { $b++; } else { if ($b>0) { $bb = $nocell-1; $bbr = $bb-$b; if ($jenis_periode==1) { $objPHPExcel->getActiveSheet()->mergeCells('D'.$bbr.':D'.$bb); } else if ($jenis_periode==2) { $objPHPExcel->getActiveSheet()->mergeCells('E'.$bbr.':E'.$bb); } } $b = 0; $id_pelanggan = $lprn['PEL_ID']; } if ($id_proyek==$lprn['ID_PROYEK']) { $c++; } else { if ($c>0) { $cc = $nocell-1; $bcr = $cc-$c; if ($jenis_periode==1) { $objPHPExcel->getActiveSheet()->mergeCells('E'.$bcr.':E'.$cc); $objPHPExcel->getActiveSheet()->mergeCells('H'.$bcr.':H'.$cc); $objPHPExcel->getActiveSheet()->mergeCells('I'.$bcr.':I'.$cc); $objPHPExcel->getActiveSheet()->mergeCells('J'.$bcr.':J'.$cc); } } $c = 0; $id_proyek = $lprn['ID_PROYEK']; } $no = 0; $nocell++; $nolpr++; } } $aa = $nocell-1; $bb = $nocell-1; $cc = $nocell-1; $bar = $aa-$a; $bbr = $bb-$b; $bcr = $cc-$c; $objPHPExcel->getActiveSheet()->mergeCells('B'.$bar.':B'.$aa); if ($jenis_periode==1) { $objPHPExcel->getActiveSheet()->mergeCells('D'.$bbr.':D'.$bb); $objPHPExcel->getActiveSheet()->mergeCells('E'.$bcr.':E'.$cc); $objPHPExcel->getActiveSheet()->mergeCells('H'.$bcr.':H'.$cc); $objPHPExcel->getActiveSheet()->mergeCells('I'.$bcr.':I'.$cc); $objPHPExcel->getActiveSheet()->mergeCells('J'.$bcr.':J'.$cc); $objPHPExcel->getActiveSheet()->freezePane('A6'); $objPHPExcel->getActiveSheet()->mergeCells('A'.$nocell.':E'.$nocell); } else if ($jenis_periode==2) { $objPHPExcel->getActiveSheet()->mergeCells('E'.$bbr.':E'.$bb); $objPHPExcel->getActiveSheet()->freezePane('A7'); $objPHPExcel->getActiveSheet()->mergeCells('A'.$nocell.':F'.$nocell); } $objPHPExcel->getActiveSheet()->setCellValue('A'.$nocell, "TOTAL"); $objPHPExcel->getActiveSheet()->getStyle('A'.$nocell)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_RIGHT)->setVertical('VERTICAL_CENTER'); if ($jenis_periode==1) { $objPHPExcel->getActiveSheet()->setCellValue('F'.$nocell, $totDpp); $objPHPExcel->getActiveSheet()->setCellValue('G'.$nocell, $totFee); $objPHPExcel->getActiveSheet()->setCellValue('H'.$nocell, $totBiaya); $objPHPExcel->getActiveSheet()->setCellValue('I'.$nocell, $totGp); $objPHPExcel->getActiveSheet()->setCellValue('J'.$nocell, $totKomisiFix); $objPHPExcel->getActiveSheet()->getStyle('A'.$nocell.':J'.$nocell)->getFont()->setSize(14); $objPHPExcel->getActiveSheet()->getStyle('A'.$nocell.':J'.$nocell)->getFont()->setBold(true); $objPHPExcel->getActiveSheet()->getStyle('A'.$nocell.':J'.$nocell)->getFill()->applyFromArray( array( 'type' => 'FILL_SOLID', 'rotation' => 0, 'startcolor' => array( 'rgb' => 'cfe2f3' ), 'endcolor' => array( 'argb' => 'FFFFFFFF' ) ) ); $objPHPExcel->getActiveSheet()->getStyle($start.':J'.$nocell)->applyFromArray( array( 'borders' => array( 'allborders' => array( 'style' => PHPExcel_Style_Border::BORDER_THIN, 'color' => array('rgb' => 'FF000000') ) ) ) ); } else if ($jenis_periode==2) { $objPHPExcel->getActiveSheet()->setCellValue('G'.$nocell, $totDpp); $objPHPExcel->getActiveSheet()->setCellValue('H'.$nocell, $totFee); $objPHPExcel->getActiveSheet()->setCellValue('I'.$nocell, $totGp); $objPHPExcel->getActiveSheet()->setCellValue('J'.$nocell, $totKomisiAwal); $objPHPExcel->getActiveSheet()->setCellValue('K'.$nocell, $totKomisiAkhir); $objPHPExcel->getActiveSheet()->getStyle('A'.$nocell.':N'.$nocell)->getFont()->setSize(14); $objPHPExcel->getActiveSheet()->getStyle('A'.$nocell.':N'.$nocell)->getFont()->setBold(true); $objPHPExcel->getActiveSheet()->getStyle('A'.$nocell.':N'.$nocell)->getFill()->applyFromArray( array( 'type' => 'FILL_SOLID', 'rotation' => 0, 'startcolor' => array( 'rgb' => 'cfe2f3' ), 'endcolor' => array( 'argb' => 'FFFFFFFF' ) ) ); $objPHPExcel->getActiveSheet()->getStyle($start.':N'.$nocell)->applyFromArray( array( 'borders' => array( 'allborders' => array( 'style' => PHPExcel_Style_Border::BORDER_THIN, 'color' => array('rgb' => 'FF000000') ) ) ) ); } $filename = "Laporan Analisa Komisi GP Sesuai Filter " . $ts .'.xlsx'; header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); header('Content-Disposition: attachment;filename="'.$filename.'"'); header('Cache-Control: max-age=0'); $writer = PHPExcel_IOFactory::createwriter($objPHPExcel, 'Excel2007'); $writer->save('php://output'); exit(); ?>