getResourceForExcel($factura_id)->get()->getResultObject(); // Crear un nuevo Spreadsheet $spreadsheet = new Spreadsheet(); $sheet = $spreadsheet->getActiveSheet(); // Especificar encabezados $headers = [ 'Factura', 'ID Pedido', 'Ref. Cliente', 'Base' ]; // Establecer los encabezados en la primera fila $column = 'A'; foreach ($headers as $header) { $sheet->setCellValue($column . '1', $header); $column++; } // Rellenar las filas con datos $rowNumber = 2; // Empezar en la segunda fila foreach ($infoLineasFactura as $infoLineaFactura) { $column = 'A'; foreach ($infoLineaFactura as $cell) { $sheet->setCellValue($column . $rowNumber, $cell); $column++; } $rowNumber++; } // Ajustar automáticamente el tamaño de las columnas foreach (range('A', $column) as $col) { $sheet->getColumnDimension($col)->setAutoSize(true); } // Crear un escritor para guardar el archivo $writer = new Xlsx($spreadsheet); // Configurar la respuesta para descarga $fileName = 'lineas-pedido.xlsx'; header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); header('Content-Disposition: attachment;filename="' . $fileName . '"'); header('Cache-Control: max-age=0'); // Escribir el archivo a la salida $writer->save('php://output'); exit; } }