= :startDate"; } if (!empty($endDate)) { $query .= " AND start_time <= :endDate"; } // Siapkan pernyataan $stmt = $pdo->prepare($query); // Bind parameter pencarian if (!empty($search)) { $stmt->bindValue(':search', '%' . $search . '%', PDO::PARAM_STR); } // Bind parameter filter tanggal if (!empty($startDate)) { $stmt->bindValue(':startDate', $startDate, PDO::PARAM_STR); } if (!empty($endDate)) { $stmt->bindValue(':endDate', $endDate, PDO::PARAM_STR); } $stmt->execute(); // Ambil data $data = $stmt->fetchAll(PDO::FETCH_ASSOC); // Buat Spreadsheet $spreadsheet = new Spreadsheet(); $sheet = $spreadsheet->getActiveSheet(); // Set header $sheet->setCellValue('A1', 'Nama Server') ->setCellValue('B1', 'User_Input') ->setCellValue('C1', 'Start Time') ->setCellValue('D1', 'Keterangan') ->setCellValue('E1', 'Pelanggan') ->setCellValue('F1', 'Kas Masuk') ->setCellValue('G1', 'Kas Keluar') ->setCellValue('H1', 'Status') ->setCellValue('I1', 'Metode Pembayaran'); // Isi data $row = 2; // Mulai dari baris kedua foreach ($data as $item) { $sheet->setCellValue('A' . $row, $item['nama_server']) ->setCellValue('B' . $row, $item['nama_user']) ->setCellValue('C' . $row, $item['start_time']) ->setCellValue('D' . $row, $item['keterangan']) ->setCellValue('E' . $row, $item['nama']) ->setCellValue('F' . $row, $item['pemasukan']) ->setCellValue('G' . $row, $item['pengeluaran']) ->setCellValue('H' . $row, $item['status']) ->setCellValue('I' . $row, $item['metode_pembayaran']); $row++; } // Set header untuk download header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); header('Content-Disposition: attachment;filename="data_export.xlsx"'); header('Cache-Control: max-age=0'); // Tulis file $writer = new Xlsx($spreadsheet); $writer->save('php://output'); exit; ?>