<?php
require 'vendor/autoload.php'; // Asegúrate de tener PhpSpreadsheet instalado

use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
use PhpOffice\PhpSpreadsheet\Style\Alignment;
use PhpOffice\PhpSpreadsheet\Style\Border;

include 'conexion.php';

// Obtener datos de usuarios
$sql = "SELECT * FROM usuarios";
$result = $conn->query($sql);

// Crear hoja de cálculo
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();

// Encabezados
$sheet->setCellValue('A1', 'ID')
      ->setCellValue('B1', 'Nombres')
      ->setCellValue('C1', 'Apellido Paterno')
      ->setCellValue('D1', 'Apellido Materno')
      ->setCellValue('E1', 'Perfil')
      ->setCellValue('F1', 'Tipo Documento')
      ->setCellValue('G1', 'N° Documento')
      ->setCellValue('H1', 'Email')
      ->setCellValue('I1', 'Teléfono')
      ->setCellValue('J1', 'Cargo')
      ->setCellValue('K1', 'Vehículo')
      ->setCellValue('L1', 'Placa')
      ->setCellValue('M1', 'Estado');

// Aplicar negrita y centrado al encabezado
$sheet->getStyle('A1:M1')->getFont()->setBold(true);
$sheet->getStyle('A1:M1')->getAlignment()->setHorizontal(Alignment::HORIZONTAL_CENTER);

// Agregar los datos
$row = 2;
while ($usuario = $result->fetch_assoc()) {
    $sheet->setCellValue("A$row", $usuario['id'])
          ->setCellValue("B$row", $usuario['nombres'])
          ->setCellValue("C$row", $usuario['apellido_paterno'])
          ->setCellValue("D$row", $usuario['apellido_materno'])
          ->setCellValue("E$row", $usuario['perfil'])
          ->setCellValue("F$row", $usuario['tipo_documento'])
          ->setCellValue("G$row", $usuario['numero_documento'])
          ->setCellValue("H$row", $usuario['email'])
          ->setCellValue("I$row", $usuario['telefono'])
          ->setCellValue("J$row", $usuario['cargo'])
          ->setCellValue("K$row", $usuario['vehiculo'])
          ->setCellValue("L$row", $usuario['placa'])
          ->setCellValue("M$row", $usuario['estado']);
    $row++;
}

// Autoajustar ancho de columnas
foreach (range('A', 'M') as $col) {
    $sheet->getColumnDimension($col)->setAutoSize(true);
}

// Exportar
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="usuarios_exportados.xlsx"');
header('Cache-Control: max-age=0');

$writer = new Xlsx($spreadsheet);
$writer->save('php://output');
exit;
