File "generarExcelVehiculo.php"
Full Path: C:/wamp64/www/porteria/Vehiculos/generarExcelVehiculo.php
File size: 2.33 KB
MIME-type: text/x-php
Charset: utf-8
<?php
// Cargar las librerías necesarias
require '../vendor/autoload.php';
require '../connection.php';
// Importar las clases de PhpSpreadsheet
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
// Establecer conexión con la base de datos
$connection = connection();
// Consulta SQL para obtener los datos necesarios
$sql = "SELECT REG, FECHA, CONDUCTOR, PLACA, GRUPO, HORAL, CANASTAASENT, KILOMETRAJEENT, OBSERVACIONES, HORAS, DESTINO, CANASTASSALE, KILOMETRAJESAL, ORDEN, SELLO, DEVOLUCION, OBS2, TIPOC, AVES, DESTINOSALIDA FROM vehiculos";
$query = mysqli_query($connection, $sql);
// Verificar si la consulta SQL tiene errores
if (!$query) {
die("Error en la consulta SQL: " . mysqli_error($connection));
}
// Crear una nueva instancia de Spreadsheet
$excel = new Spreadsheet();
// Obtener la hoja activa y asignar un título
$hojaActiva = $excel->getActiveSheet();
$hojaActiva->setTitle("porteriaVehiculos");
// Configurar los encabezados de las columnas
$encabezados = [
'A1' => 'REG', 'B1' => 'FECHA', 'C1' => 'CONDUCTOR', 'D1' => 'PLACA',
'E1' => 'GRUPO', 'F1' => 'HORAL', 'G1' => 'CANASTAASENT', 'H1' => 'KILOMETRAJEENT',
'I1' => 'OBSERVACIONES', 'J1' => 'HORAS', 'K1' => 'DESTINO', 'L1' => 'CANASTASSALE',
'M1' => 'KILOMETRAJESAL', 'N1' => 'ORDEN', 'O1' => 'SELLO', 'P1' => 'DEVOLUCION',
'Q1' => 'OBS2', 'R1' => 'TIPOC', 'S1' => 'AVES', 'T1' => 'DESTINOSALIDA'
];
// Asignar los encabezados a la hoja activa
foreach ($encabezados as $celda => $valor) {
$hojaActiva->setCellValue($celda, $valor);
}
// Variable para rastrear la fila actual
$FILA = 2;
// Recorrer los resultados de la consulta y escribirlos en la hoja de cálculo
while ($row = mysqli_fetch_assoc($query)) {
// Usar fromArray para escribir toda la fila a partir de la columna A
$hojaActiva->fromArray(array_values($row), null, 'A' . $FILA);
$FILA++;
}
// Configurar los encabezados HTTP para descargar el archivo Excel
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="reporteVehiculo.xlsx"');
header('Cache-Control: max-age=0');
// Crear el escritor de Xlsx y guardar el archivo en la salida estándar
$writer = new Xlsx($excel);
$writer->save('php://output');
exit();
?>