getDefaultStyle()->getFont()->setName('Arial'); $objPHPExcel->getDefaultStyle()->getFont()->setSize(10); $objPHPExcel->getDefaultStyle()->getAlignment()->setWrapText(true); //$objPHPExcel->getDefaultStyle()->getNumberFormat()->setFormatCode('@'); $objPHPExcel->getSheet(0)->getColumnDimension('A')->setWidth(5); $objPHPExcel->getSheet(0)->getColumnDimension('B')->setWidth(6); $objPHPExcel->getSheet(0)->getColumnDimension('C')->setWidth(6); $objPHPExcel->getSheet(0)->getColumnDimension('D')->setWidth(8); $objPHPExcel->getSheet(0)->getColumnDimension('E')->setWidth(6); $objPHPExcel->getSheet(0)->getColumnDimension('F')->setWidth(35); $objPHPExcel->getSheet(0)->getColumnDimension('G')->setWidth(95); $objPHPExcel->getSheet(0)->getColumnDimension('H')->setWidth(18); $objPHPExcel->getSheet(0)->getColumnDimension('I')->setWidth(18); $objPHPExcel->getSheet(0)->getColumnDimension('J')->setWidth(18); $objPHPExcel->getSheet(0)->getColumnDimension('K')->setWidth(8); $objPHPExcel->getSheet(0)->getColumnDimension('L')->setWidth(8); $styleBold = array('font' => array('bold' => true)); $objPHPExcel->getSheet(0)->getStyle('A1:S1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); $objPHPExcel->getSheet(0)->getStyle('A1:S1')->applyFromArray($styleBold); $objPHPExcel->getSheet(0)->getRowDimension('1')->setRowHeight(25); $objPHPExcel->getSheet(0)->setTitle('LAP_PENYERAPAN'); $objPHPExcel->getSheet(0) ->setCellValue('A1', 'No') ->setCellValue('B1', 'KPA') ->setCellValue('C1', 'PPTK') ->setCellValue('D1', 'PPKOM') ->setCellValue('E1', 'PPBJ') ->setCellValue('F1', 'Rek') ->setCellValue('G1', 'Sub / Belanja') ->setCellValue('H1', 'Anggaran') ->setCellValue('I1', 'Penyerapan') ->setCellValue('J1', 'Sisa') ->setCellValue('K1', '%') ->setCellValue('L1', '% Sisa'); $query = "SELECT k.inisial,t.inisial,m.inisial,p1.inisial,b1.inisial, s.kpa,s.pptk,s.ra,s.rb,s.rc,s.rd,s.re,s.rf,s.rg,s.rh, s.kd_panggil, s.p1,s.k1,s.sk1,s.sub_kegiatan,s.kegiatan,s.anggaran,s.kd_panggil, SUM(p.nilai_sp) as tot_nilai_pekerjaan,s.id, SUM(COALESCE(l2.tot,0)) as tot_termin_terbayar FROM sub_kegiatan s LEFT OUTER JOIN (SELECT * FROM pekerjaan WHERE status_setor IS NULL) p ON (p.sub_kegiatan_id=s.id) LEFT OUTER JOIN kpa k ON (k.id=s.kpa_id) LEFT OUTER JOIN pptk t ON (t.id=s.pptk_id) LEFT OUTER JOIN ppkom m ON (m.id=s.ppkom_id) LEFT OUTER JOIN pejabat_pengadaan p1 ON (p1.id=s.pejabat_pengadaan_id) LEFT OUTER JOIN subkategori_kegiatan g ON (g.id=s.kategori_id) LEFT OUTER JOIN bp b1 ON (b1.id=s.bp_id) LEFT OUTER JOIN ( SELECT p1.no_sp,SUM(l1.nilai_pelunasan) as tot FROM pekerjaan p1 INNER JOIN sub_kegiatan s1 ON (s1.id=p1.sub_kegiatan_id) INNER JOIN vr_realisasi r1 ON (p1.id=r1.pekerjaan_id) INNER JOIN vr_pelunasan l1 ON (r1.id=l1.vr_realisasi_id) WHERE s1.thn<>'$thn' AND p1.status_setor IS NULL AND l1.id IS NOT NULL AND COALESCE(p1.no_sp,'')<>'' GROUP BY p1.no_sp ) l2 ON (l2.no_sp=p.no_sp) WHERE s.thn='$thn' ".($sub_kegiatan == null ? "" : "AND s.sub_kegiatan='$sub_kegiatan'")." ".($pejabat_pengadaan_id == null ? "" : "AND s.pejabat_pengadaan_id='$pejabat_pengadaan_id'")." ".($kegiatan == null ? "" : "AND s.kegiatan='$kegiatan' AND s.rh='$rh'")." ".($kpa == null ? "" : "AND s.kpa_id='$kpa'")." ".($pptk == null ? "" : "AND s.pptk_id='$pptk'")." ".($pgn == null ? "" : "AND s.pejabat_pengadaan_id='$pgn'")." ".($kom == null ? "" : " ".($kom == "ALL" ? "AND (s.ppkom_id IS NOT NULL AND m.inisial <> 'PPK')" : " ".($kom == "NON" ? "AND (s.ppkom_id IS NULL OR m.inisial = 'PPK')" : "AND s.ppkom_id='$kom'")." ")." ")." ".($pelaksana_kegiatan == null ? "" : "AND s.pelaksana_kegiatan_id='$pelaksana_kegiatan'")." GROUP BY k.inisial,t.inisial,m.inisial,p1.inisial,b1.inisial, s.kpa,s.pptk,s.ra,s.rb,s.rc,s.rd,s.re,s.rf,s.rg,s.rh, s.kd_panggil, s.p1,s.k1,s.sk1,s.sub_kegiatan,s.kegiatan,s.anggaran,s.id ORDER BY s.id DESC"; $hasil = pg_query($query); $baris = 2; $a=1; while ($r = pg_fetch_array($hasil)) { $tot_penyerapan=$r['tot_nilai_pekerjaan']-$r['tot_termin_terbayar']; $rek=$r['kpa'].' '.$r['pptk'].' '.$r['ra'].' '.$r['rb'].' '.$r['rc'].' '.$r['rd'].' '.$r['re'].' '.$r['rf'].' '.$r['rg'].' '.$r['rh']; $p=@($tot_penyerapan/$r['anggaran']); $p1=@(($r['anggaran']-$tot_penyerapan)/$r['anggaran']); $objPHPExcel->getSheet(0) ->setCellValue('A'.$baris, $a) ->setCellValue('B'.$baris, $r[0]) ->setCellValue('C'.$baris, $r[1]) ->setCellValue('D'.$baris, $r[2]) ->setCellValue('E'.$baris, $r[3]) ->setCellValue('F'.$baris, $rek) ->setCellValue('G'.$baris, $r['sub_kegiatan']."\n".$r['kegiatan']) ->setCellValueExplicit('H'.$baris, $r['anggaran'], PHPExcel_Cell_DataType::TYPE_NUMERIC) /*anggaran*/ ->setCellValueExplicit('I'.$baris, $tot_penyerapan, PHPExcel_Cell_DataType::TYPE_NUMERIC) /*hutang termin*/ ->setCellValueExplicit('J'.$baris, $r['anggaran']-$tot_penyerapan, PHPExcel_Cell_DataType::TYPE_NUMERIC) /*hutang*/ ->setCellValue('K'.$baris, number_format($p*100, 0, '.', '')) /* % */ ->setCellValue('L'.$baris, number_format($p1*100, 0, '.', '')); /* % sisa */ /* $objPHPExcel->getSheet(0)->getStyle('H1:M'.$baris)->getNumberFormat()->setFormatCode('#,##0'); $objPHPExcel->getSheet(0)->getStyle('A1:E'.$baris)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); $objPHPExcel->getSheet(0)->getStyle('P1:S'.$baris)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); $objPHPExcel->getSheet(0)->getStyle('A1:R'.$baris)->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER); $objPHPExcel->getSheet(0)->getStyle('N1:O'.$baris)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); */ $a++; $baris++; } $objPHPExcel->getSheet(0)->getStyle('H1:M'.$baris)->getNumberFormat()->setFormatCode('#,##0'); $objPHPExcel->getSheet(0)->getStyle('A1:E'.$baris)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); $objPHPExcel->getSheet(0)->getStyle('P1:S'.$baris)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); $objPHPExcel->getSheet(0)->getStyle('A1:R'.$baris)->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER); $objPHPExcel->getSheet(0)->getStyle('N1:O'.$baris)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); $objPHPExcel->getSheet(0)->getStyle('K1:L'.$baris)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); $objPHPExcel->setActiveSheetIndex(0); header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="lap_penyerapan.xls"'); header('Cache-Control: max-age=0'); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); $objWriter->save('php://output'); exit; ?>