Query("SELECT P.* FROM (SELECT * FROM biaya_pajak WHERE Tgl_Pajak BETWEEN '".$tglfrom."' AND '".$tglto."') P ORDER BY P.No_Pajak"); } if ( $data == "print" ) { Report_Header("LAPORAN REKAPITULASI FP INVOICE BIAYA", $tglheader); $header .= ''; $_line = ''; $_sline = ''; $body = ''; $nomor = 1; $tot_dpp = 0; $tot_ppn = 0; while ($db->Next()) { $tot_dpp += $db->Row("Jumlah_DPP"); $tot_ppn += $db->Row("Jumlah_PPN"); $body .= sprintf($_line, $nomor++, $db->Row("No_Biaya"), tgl_sql2str($db->Row("Tgl_Biaya")), $db->Row("No_Pajak"), $db->Row("No_NPWP"), $db->Row("Nama_NPWP"), rupiah2($db->Row("Jumlah_DPP")), rupiah2($db->Row("Jumlah_PPN"))); } $body .= sprintf($_sline, "Jumlah", rupiah2($tot_dpp), rupiah2($tot_ppn)); echo $header . $body . "
No.No. FakturTgl. FakturNSFPNPWPNama NPWPDPPPPN
%s%s%s%s%s%s%s%s
%s%s%s
" . Report_Stamp(1, true); } else if ( $data == "export" ) { \PhpOffice\PhpSpreadsheet\Cell\Cell::setValueBinder( new \PhpOffice\PhpSpreadsheet\Cell\AdvancedValueBinder() ); $styleTxt = [ 'numberFormat' => ['formatCode' => \PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_TEXT] ]; $styleNum = [ 'numberFormat' => ['formatCode' => \PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED2] ]; $ssheet = new \PhpOffice\PhpSpreadsheet\Spreadsheet(); $ssheet->getProperties() ->setCreator($_SESSION['__WEB_APP']['APP_NAME']." v".$_SESSION['__WEB_APP']['APP_VER']) ->setLastModifiedBy($_SESSION['__WEB_APP']['APP_NAME']." v".$_SESSION['__WEB_APP']['APP_VER']) ->setTitle("Data Rekapitulasi FP Invoice Biaya") ->setCompany($_SESSION['__WEB_APP']['REG_NAME']); $sheet = $ssheet->getActiveSheet(); $sheet->setTitle("Data Rekapitulasi FP Invoice Biaya"); // header $styleHeader = [ 'font' => ['bold' => true], 'alignment' => ['horizontal' => \PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER] ]; $sheet->setCellValue("A1", strtoupper($_SESSION['__WEB_APP']['REG_NAME'])); $sheet->mergeCells('A1:H1'); $sheet->setCellValue("A2", "LAPORAN REKAPITULASI FP INVOICE BIAYA"); $sheet->mergeCells('A2:H2'); $sheet->setCellValue("A3", $tglheader); $sheet->mergeCells('A3:H3'); $sheet->getStyle('A1:H3')->applyFromArray($styleHeader); // table header $sheet->getColumnDimension('A')->setWidth(8); $sheet->getColumnDimension('B')->setWidth(18); $sheet->getColumnDimension('C')->setWidth(12); $sheet->getColumnDimension('D')->setWidth(25); $sheet->getColumnDimension('E')->setWidth(25); $sheet->getColumnDimension('F')->setWidth(20); $sheet->getColumnDimension('G')->setWidth(18); $sheet->getColumnDimension('H')->setWidth(18); $styleTableH = [ 'font' => ['bold' => true], 'alignment' => ['horizontal' => \PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER, 'vertical' => \PhpOffice\PhpSpreadsheet\Style\Alignment::VERTICAL_CENTER, 'wrapText' => true], 'fill' => ['fillType' => \PhpOffice\PhpSpreadsheet\Style\Fill::FILL_SOLID, 'startColor' => ['rgb'=>"D0D0D0"]], 'borders' => ['allBorders' => ['borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN, 'color' => ['rgb'=>"C0C0C0"]]] ]; $baris = 5; $sheet->setCellValue("A".$baris, "No."); $sheet->setCellValue("B".$baris, "No. Faktur"); $sheet->setCellValue("C".$baris, "Tgl. Faktur"); $sheet->setCellValue("D".$baris, "NSFP"); $sheet->setCellValue("E".$baris, "NPWP"); $sheet->setCellValue("F".$baris, "Nama NPWP"); $sheet->setCellValue("G".$baris, "DPP"); $sheet->setCellValue("H".$baris, "PPN"); $sheet->getStyle('A'.$baris.':H'.$baris)->applyFromArray($styleTableH); $baris++; $nomor = 1; $tot_dpp = 0; $tot_ppn = 0; while ($db->Next()) { $sheet->setCellValue("A".$baris, $nomor++); $sheet->setCellValue("B".$baris, $db->Row("No_Biaya")); $sheet->setCellValue("C".$baris, $db->Row("Tgl_Biaya")); $sheet->setCellValue("D".$baris, $db->Row("No_Pajak")); $sheet->setCellValue("E".$baris, $db->Row("No_NPWP")); $sheet->setCellValue("F".$baris, $db->Row("Nama_NPWP")); $sheet->setCellValue("G".$baris, $db->RowFloat("Jumlah_DPP")); $sheet->setCellValue("H".$baris, $db->RowFloat("Jumlah_PPN")); $sheet->getStyle('G'.$baris.':H'.$baris)->applyFromArray($styleNum); $baris++; $tot_dpp += $db->Row("Jumlah_DPP"); $tot_ppn += $db->Row("Jumlah_PPN"); } $sheet->setCellValue("A".$baris, "Jumlah"); $sheet->mergeCells('A'.$baris.':F'.$baris); $sheet->setCellValue("G".$baris, $tot_dpp); $sheet->setCellValue("H".$baris, $tot_ppn); $sheet->getStyle('A'.$baris.':F'.$baris)->applyFromArray(['alignment' => ['horizontal' => \PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER]]); $sheet->getStyle('G'.$baris.':H'.$baris)->applyFromArray($styleNum); $styleSub = [ 'font' => ['bold' => true], 'fill' => ['fillType' => \PhpOffice\PhpSpreadsheet\Style\Fill::FILL_SOLID, 'startColor' => ['rgb'=>"D0D0D0"]] ]; $sheet->getStyle('A'.$baris.':H'.$baris)->applyFromArray($styleSub); $sheet->getSheetView()->setZoomScale(75); header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); header('Content-Disposition: attachment;filename="Data Rekapitulasi FP Invoice Biaya.xlsx"'); header('Cache-Control: max-age=0'); $writer = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($ssheet, 'Xlsx'); $writer->save('php://output'); $ssheet->disconnectWorksheets(); unset($ssheet); unset($writer); } else if ( $data == "default") { $form = new Form($db); $form->datebox("Dari Tanggal", "Tgl_From", tgl_ymd(), true, false); $form->datebox("Sampai Tanggal", "Tgl_To", tgl_ymd(), true, false); $form->show(' _Tgl_From_ _Tgl_To_ '); } ?>