getDefaultStyle()->getFont()->setName('Arial'); $objPHPExcel->getDefaultStyle()->getFont()->setSize(10); $objPHPExcel->getDefaultStyle()->getAlignment()->setWrapText(true); $objPHPExcel->getSheet(0)->getColumnDimension('A')->setWidth(5); $objPHPExcel->getSheet(0)->getColumnDimension('B')->setWidth(30); $objPHPExcel->getSheet(0)->getColumnDimension('C')->setWidth(25); $objPHPExcel->getSheet(0)->getColumnDimension('D')->setWidth(26); $objPHPExcel->getSheet(0)->getColumnDimension('E')->setWidth(33); $objPHPExcel->getSheet(0)->getColumnDimension('F')->setWidth(15); $objPHPExcel->getSheet(0)->getColumnDimension('G')->setWidth(15); $objPHPExcel->getSheet(0)->getColumnDimension('H')->setWidth(15); $objPHPExcel->getSheet(0)->getColumnDimension('I')->setWidth(15); $objPHPExcel->getSheet(0)->getColumnDimension('J')->setWidth(20); $objPHPExcel->getSheet(0)->getColumnDimension('K')->setWidth(11); $objPHPExcel->getSheet(0)->getColumnDimension('L')->setWidth(11); $objPHPExcel->getSheet(0)->getColumnDimension('M')->setWidth(11); $objPHPExcel->getSheet(0)->getColumnDimension('N')->setWidth(50); $styleBold = array('font' => array('bold' => true)); $objPHPExcel->getSheet(0)->getStyle('A1:N1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); $objPHPExcel->getSheet(0)->getStyle('A1:N1')->applyFromArray($styleBold); $objPHPExcel->getSheet(0)->getRowDimension('1')->setRowHeight(25); $objPHPExcel->getSheet(0)->setTitle('HUTANG TERMIN'); $objPHPExcel->getSheet(0) ->setCellValue('A1', 'No') ->setCellValue('B1', 'Penyedia') ->setCellValue('C1', 'No SP/SPK/Kwi') ->setCellValue('D1', 'Berlaku') ->setCellValue('E1', 'Kegiatan pengadaan') ->setCellValue('F1', 'Nilai SP') ->setCellValue('G1', 'Termin') ->setCellValue('H1', 'Termin Lunas') ->setCellValue('I1', 'Sisa Termin') ->setCellValue('J1', 'Jenis') /* G */ ->setCellValue('K1', 'Status') /* H */ ->setCellValue('L1', 'Adminers') /* I */ ->setCellValue('M1', 'Nota dinas') /* J */ ->setCellValue('N1', 'No Nota dinas'); /* K */ /* $query = "SELECT COALESCE(r.nama,p.cad1),p.no_sp,p.tgl_mulai_sp,p.tgl_selesai_sp,p.kegiatan_pengadaan,p.nilai_sp,k.nama, CASE WHEN p.tgl_setor IS NOT NULL THEN 'Realisasi' ELSE CASE WHEN status='Proses' THEN 'Proses Adminers' WHEN status='Selesai Adminers' THEN 'Selesai Adminers' ELSE 'Penyerapan' END END , COALESCE(u.nama,p.user_nama), (SELECT COUNT(*) FROM nota_dinas n LEFT OUTER JOIN list_relasi p1 ON (p1.nota_dinas_id=n.id) WHERE p1.pekerjaan_id=p.id),p.id,SUM(l.nilai_pelunasan),STRING_AGG(CAST(l.data_ke AS TEXT), ', ') as Termin FROM pekerjaan p LEFT OUTER JOIN rekanan r ON (r.id=p.rekanan_id) LEFT OUTER JOIN jenis_kegiatan k ON (k.id=p.jenis_kegiatan_id) LEFT OUTER JOIN data_user u ON (u.id=p.adminers_id) LEFT OUTER JOIN vr_realisasi r2 ON (r2.pekerjaan_id=p.id) LEFT OUTER JOIN vr_pelunasan l ON (l.vr_realisasi_id=r2.id) WHERE p.no_sp IN ( SELECT DISTINCT(p1.no_sp) FROM pekerjaan p1 WHERE p1.user_nama='HUTANG TERMIN' AND p1.sub_kegiatan_id=$id ) AND l.st_hutang IS NULL AND COALESCE(p.user_nama,'') <> 'HUTANG TERMIN' AND p.status_setor IS NULL AND p.status <> 'Extra' AND p.cad3 IS NULL AND l.data_ke IS NOT NULL ".($tm1 == null ? "" : "AND p.tgl_input::DATE BETWEEN '$tt1-$bb1-$hh1' AND '$tt2-$bb2-$hh2'")." GROUP BY COALESCE(r.nama,p.cad1),p.no_sp,p.tgl_mulai_sp,p.tgl_selesai_sp,p.kegiatan_pengadaan,p.nilai_sp,k.nama, p.id,p.user_nama,l.st_hutang,u.nama ORDER BY p.no_sp ASC "; */ $query = "SELECT COALESCE(r.nama,p.cad1),p.no_sp,p.tgl_mulai_sp,p.tgl_selesai_sp,p.kegiatan_pengadaan,p.nilai_sp,k.nama, CASE WHEN p.tgl_setor IS NOT NULL THEN 'Realisasi' ELSE CASE WHEN status='Proses' THEN 'Proses Adminers' WHEN status='Selesai Adminers' THEN 'Selesai Adminers' ELSE 'Penyerapan' END END , COALESCE(u.nama,p.user_nama), (SELECT COUNT(*) FROM nota_dinas n LEFT OUTER JOIN list_relasi p1 ON (p1.nota_dinas_id=n.id) WHERE p1.pekerjaan_id=p.id), p.id, (SELECT SUM(l2.nilai_pelunasan) FROM vr_pelunasan l2 INNER JOIN vr_realisasi r3 ON (r3.id=l2.vr_realisasi_id) INNER JOIN pekerjaan p2 ON (p2.id=r3.pekerjaan_id) WHERE l2.st_hutang IS NULL AND p2.no_sp=p.no_sp), STRING_AGG(CAST(l.data_ke AS TEXT), ', ') as Termin, (SELECT STRING_AGG(n.no_surat,', ') FROM nota_dinas n LEFT OUTER JOIN list_relasi p1 ON (p1.nota_dinas_id=n.id) WHERE p1.pekerjaan_id=p.id) as no_nodin FROM pekerjaan p LEFT OUTER JOIN rekanan r ON (r.id=p.rekanan_id) LEFT OUTER JOIN jenis_kegiatan k ON (k.id=p.jenis_kegiatan_id) LEFT OUTER JOIN data_user u ON (u.id=p.adminers_id) LEFT OUTER JOIN vr_realisasi r2 ON (r2.pekerjaan_id=p.id) LEFT OUTER JOIN vr_pelunasan l ON (l.vr_realisasi_id=r2.id) WHERE p.sub_kegiatan_id=$id AND p.status_setor IS NULL AND p.status<>'Extra' AND p.cad3 IS NULL AND COALESCE(p.user_nama,'')='HUTANG TERMIN' ".($tm1 == null ? "" : "AND p.tgl_input::DATE BETWEEN '$tt1-$bb1-$hh1' AND '$tt2-$bb2-$hh2'")." GROUP BY COALESCE(r.nama,p.cad1),p.no_sp,p.tgl_mulai_sp,p.tgl_selesai_sp,p.kegiatan_pengadaan,p.nilai_sp,k.nama, p.id,p.user_nama,l.st_hutang,u.nama ORDER BY p.no_sp ASC "; $hasil = pg_query($query); $baris = 2; $a=1; while ($r = pg_fetch_array($hasil)) { if (($r['tgl_mulai_sp']==null) || ($r['tgl_mulai_sp']=='1970-01-01 00:00:00')) {$vv='';} else { $vv=date('d-m-Y',strtotime($r['tgl_mulai_sp'])).' s/d '.date('d-m-Y',strtotime($r['tgl_selesai_sp'])); } $objPHPExcel->getSheet(0) ->setCellValue('A'.$baris, $a) ->setCellValue('B'.$baris, $r[0]) ->setCellValueExplicit('C'.$baris, $r[1], PHPExcel_Cell_DataType::TYPE_STRING) ->setCellValue('D'.$baris, $vv) ->setCellValue('E'.$baris, $r[4]) ->setCellValueExplicit('F'.$baris, $r[5], PHPExcel_Cell_DataType::TYPE_NUMERIC) ->setCellValueExplicit('G'.$baris, $r[12]) ->setCellValueExplicit('H'.$baris, $r[11], PHPExcel_Cell_DataType::TYPE_NUMERIC) ->setCellValueExplicit('I'.$baris, $r[5]-$r[11], PHPExcel_Cell_DataType::TYPE_NUMERIC) ->setCellValue('J'.$baris, $r[6]) ->setCellValue('K'.$baris, $r[7]) ->setCellValue('L'.$baris, $r[8]) ->setCellValue('M'.$baris, $r[9]) ->setCellValue('N'.$baris, $r['no_nodin']); $objPHPExcel->getSheet(0)->getStyle('F'.$baris)->getNumberFormat()->setFormatCode('#,##0'); $objPHPExcel->getSheet(0)->getStyle('G'.$baris)->getNumberFormat()->setFormatCode('#,##0'); $objPHPExcel->getSheet(0)->getStyle('H'.$baris)->getNumberFormat()->setFormatCode('#,##0'); $objPHPExcel->getSheet(0)->getStyle('I'.$baris)->getNumberFormat()->setFormatCode('#,##0'); $objPHPExcel->getSheet(0)->getStyle('D'.$baris)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); $objPHPExcel->getSheet(0)->getStyle('M'.$baris)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); $objPHPExcel->getSheet(0)->getStyle('A1:N'.$baris)->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER); $a++; $baris++; } $objPHPExcel->setActiveSheetIndex(0); header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="hutang_termin.xls"'); header('Cache-Control: max-age=0'); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); $objWriter->save('php://output'); exit; ?>