Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
APPSST
/
Admin
:
excelInventa.php.bak
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php require '../vendor/autoload.php'; // Asegúrate de que PHPSpreadsheet esté instalado include("../bd/conexion.php"); use PhpOffice\PhpSpreadsheet\Spreadsheet; use PhpOffice\PhpSpreadsheet\Writer\Xlsx; // Crear un nuevo objeto de hoja de cálculo $spreadsheet = new Spreadsheet(); $sheet = $spreadsheet->getActiveSheet(); // Establecer el encabezado de la tabla $sheet->setCellValue('A1', 'ID'); $sheet->setCellValue('B1', 'CODIGO'); $sheet->setCellValue('C1', 'DESCRIPCION'); $sheet->setCellValue('D1', 'CANTIDAD'); // Aplicar estilo al encabezado $headerStyle = [ 'font' => [ 'bold' => true, 'color' => ['rgb' => 'FFFFFF'], ], 'fill' => [ 'fillType' => \PhpOffice\PhpSpreadsheet\Style\Fill::FILL_SOLID, 'startColor' => ['rgb' => 'FF8A37'], ], 'alignment' => [ 'horizontal' => \PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER, 'vertical' => \PhpOffice\PhpSpreadsheet\Style\Alignment::VERTICAL_CENTER, ], ]; $sheet->getStyle('A1:D1')->applyFromArray($headerStyle); // Obtener los datos de la base de datos $consulta_inventario = $conexion->query("SELECT ID, CODIGO, DESCRIPCION, CANTIDAD FROM inventario"); if ($consulta_inventario->num_rows > 0) { $row = 2; // Comienza en la segunda fila while ($fila_inventario = $consulta_inventario->fetch_assoc()) { $sheet->setCellValue('A' . $row, $fila_inventario['ID']); $sheet->setCellValue('B' . $row, $fila_inventario['CODIGO']); $sheet->setCellValue('C' . $row, $fila_inventario['DESCRIPCION']); $sheet->setCellValue('D' . $row, $fila_inventario['CANTIDAD']); $row++; } } // Establecer el estilo de las celdas con bordes $cellStyle = [ 'borders' => [ 'allBorders' => [ 'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN, 'color' => ['argb' => '000000'], ], ], 'alignment' => [ 'horizontal' => \PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER, 'vertical' => \PhpOffice\PhpSpreadsheet\Style\Alignment::VERTICAL_CENTER, ], ]; $sheet->getStyle('A1:D' . ($row - 1))->applyFromArray($cellStyle); // Ajustar automáticamente el ancho de las columnas foreach (range('A', 'D') as $columnID) { $sheet->getColumnDimension($columnID)->setAutoSize(true); } // Crear el archivo Excel y forzar su descarga $writer = new Xlsx($spreadsheet); header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); header('Content-Disposition: attachment; filename="Inventario.xlsx"'); $writer->save('php://output'); exit; ?>