<?php require '../vendor/autoload.php'; // Carga el autoloader de Composer require '../connection.php'; use PhpOffice\PhpSpreadsheet\Spreadsheet; use PhpOffice\PhpSpreadsheet\Writer\Xlsx; // Crear una instancia de Spreadsheet $connection = connection(); $sql = "SELECT id, fecha, nombre, cedula, arl, eps, telefono, rh, placa, ingreso, equipo, tipo, serial, salida, carnet FROM colaboradores"; $query = mysqli_query($connection, $sql); $excel = new Spreadsheet(); // Obtener la hoja activa $hojaActiva = $excel->getActiveSheet(); $hojaActiva->setTitle("porteria"); $hojaActiva->setCellValue('A1', 'ID'); $hojaActiva->setCellValue('B1', 'FECHA'); $hojaActiva->setCellValue('C1', 'NOMBRE'); $hojaActiva->setCellValue('D1', 'CEDULA'); $hojaActiva->setCellValue('E1', 'ARL'); $hojaActiva->setCellValue('F1', 'EPS'); $hojaActiva->setCellValue('G1', 'TELEFONO'); $hojaActiva->setCellValue('H1', 'RH'); $hojaActiva->setCellValue('I1', 'PLACA'); $hojaActiva->setCellValue('J1', 'INGRESO'); $hojaActiva->setCellValue('K1', 'EQUIPO'); $hojaActiva->setCellValue('L1', 'TIPO'); $hojaActiva->setCellValue('M1', 'SERIAL'); $hojaActiva->setCellValue('N1', 'N° CARNET'); $hojaActiva->setCellValue('O1', 'SALIDA'); $FILA = 2; while ($row = mysqli_fetch_array($query)) { $hojaActiva->setCellValue('A' . $FILA, $row['id']); $hojaActiva->setCellValue('B' . $FILA, $row['fecha']); $hojaActiva->setCellValue('C' . $FILA, $row['nombre']); $hojaActiva->setCellValue('D' . $FILA, $row['cedula']); $hojaActiva->setCellValue('E' . $FILA, $row['arl']); $hojaActiva->setCellValue('F' . $FILA, $row['eps']); $hojaActiva->setCellValue('G' . $FILA, $row['telefono']); $hojaActiva->setCellValue('H' . $FILA, $row['rh']); $hojaActiva->setCellValue('I' . $FILA, $row['placa']); $hojaActiva->setCellValue('J' . $FILA, $row['ingreso']); $hojaActiva->setCellValue('K' . $FILA, $row['equipo']); $hojaActiva->setCellValue('L' . $FILA, $row['tipo']); $hojaActiva->setCellValue('M' . $FILA, $row['serial']); $hojaActiva->setCellValue('N' . $FILA, $row['carnet']); $hojaActiva->setCellValue('O' . $FILA, $row['salida']); $FILA++; } // Crear un objeto de Writer y guardar el archivo en el sistema de archivos $writer = new Xlsx($excel); $filename = 'reporteVisitantes.xlsx'; $writer->save($filename); // Configurar encabezado para la descarga del archivo header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); header('Content-Disposition: attachment;filename="' . $filename . '"'); header('Cache-Control: max-age=0'); // Guardar en la salida estándar (descargar) $writer->save('php://output'); exit(); ?>