File "generarExcel.php"

Full Path: C:/wamp64/www/porteria/ANTERIOR/visitantes/generarExcel.php
File size: 2.68 KB
MIME-type: text/x-php
Charset: utf-8

<?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();
?>