<?php
// Incluir Spout (ajusta la ruta a tu estructura de carpetas)
require 'spout/src/Spout/Autoloader/autoload.php';

use Box\Spout\Writer\Common\Creator\WriterEntityFactory;
use Box\Spout\Writer\Common\Creator\Style\StyleBuilder;
use Box\Spout\Common\Entity\Row;

// Conectar a la base de datos
include 'conexion1.php';
$conectar = mysqli_connect($servidor, $nombre, $clave, $base);

// Consultar la tabla 'venta'
$sql = "SELECT * FROM venta";
$result = mysqli_query($conectar, $sql);

// Crear el escritor de Excel y abrir el archivo temporal en memoria
$writer = WriterEntityFactory::createXLSXWriter();
$writer->openToBrowser("Reporte_Ventas.xlsx");

// Crear el estilo para los encabezados (negrita)
$headerStyle = (new StyleBuilder())
    ->setFontBold()
    ->build();

// Definir los encabezados de las columnas
$headers = [
    'ID', 'Fecha Registro', 'Hora Registro', 'Estado', 'Tipo Comprobante', 
    'Serie', 'Correlativo', 'DNI', 'Nombre', 'Dirección', 'Celular', 
    'Código Proserv', 'Descripción', 'Fecha Entrega', 'Hora Entrega', 
    'Importe Total', 'IGV', 'Sub Total', 'Acuenta', 'Debe', 'Nombre Vendedor'
];

// Crear y agregar la fila de encabezados con estilo de negrita
$headerRow = WriterEntityFactory::createRowFromArray($headers, $headerStyle);
$writer->addRow($headerRow);

// Agregar los datos de la consulta al archivo Excel
while ($row = mysqli_fetch_assoc($result)) {
    $dataRow = WriterEntityFactory::createRowFromArray([
        $row['ID'],
        $row['FECHA_REGISTRO'],
        $row['HORA_REGISTRO'],
        $row['ESTADO'],
        $row['TIPO_COMPROBANTE'],
        $row['SERIE'],
        $row['CORRELATIVO'],
        $row['DNI'],
        $row['NOMBRE'],
        $row['DIRECCION'],
        $row['CELULAR'],
        $row['CODIGO_PROSERV'],
        $row['DESCRIPCION'],
        $row['FECHA_ENTREGA'],
        $row['HORA_ENTREGA'],
        $row['IMPORTE_TOTAL'],
        $row['IGV'],
        $row['SUB_TOTAL'],
        $row['ACUENTA'],
        $row['DEBE'],
        $row['NOMBRE_VENDEDOR']
    ]);
    $writer->addRow($dataRow);
}

// Cerrar el escritor de Excel
$writer->close();
?>