Tamaño automático de celdas al exportar con Laravel-Excel

Tamaño automático de celdas al exportar con Laravel-Excel

Tamaño automático de celdas al exportar con Laravel-Excel. Por defecto el paquete de exportación Laravel-Excel a la hora de exportar las celdas se exportan d emanera ajustada. Por lo tanto, aprenderemos a configurar de manera personalizada el ancho de las celdas en ficheros excel en la exportacion.

¿Como exportar ficheros excel con celdas de tamaño automatico con Laravel-Excel?

Para autoajustar el tamaño de las celdas al exportar un archivo de Excel con Laravel-Excel, puedes usar la clase WithColumnAutoSize en tu fichero de exportación.

💣 Descarga sistemas PHP y Laravel COMPLETOS GRATIS
Recursos premium listos para usar en proyectos reales 💻
👥 +1000 desarrolladores · 🔥 Publicaciones diarias
🔥 Unirme al canal GRATIS ahora 👥 Grupo de Facebook
⏳ Enlaces disponibles por tiempo limitado
💻 Sistemas completos 🔌 Plugins PRO ⚡ Scripts listos 🔥 Recursos exclusivos

Vamos a explicar los 4 pasos que debemos de seguir y también pueden ver la documentación oficial.

  1. Primer paso: Instalar Laravel Excel (si no lo has hecho):
    composer require maatwebsite/excel
  2. Segundo paso: Crea una clase de exportación:

    php artisan make:export UsersExport --model=User

     

  3. Tercer paso: Edita la clase de exportación (UsersExport.php): Agrega la interfaz WithColumnWidths o WithColumnAutoSize según lo que necesites.
    namespace App\Exports;
    use App\Models\User;
    use Maatwebsite\Excel\Concerns\FromCollection;
    use Maatwebsite\Excel\Concerns\WithHeadings;
    use Maatwebsite\Excel\Concerns\ShouldAutoSize;
    class UsersExport implements FromCollection, WithHeadings, ShouldAutoSize
    {
        public function collection()
        {
            return User::all();
        }
    
    
        public function headings(): array
        {
            return ["ID", "Nombre", "Correo", "Fecha de Creación"];
        }
    }
  4. Cuarto paso: Descargar el archivo en el controlador:
    use App\Exports\UsersExport;
    use Maatwebsite\Excel\Facades\Excel;
    
    
    class UserController extends Controller
    {
        public function export()
        {
            return Excel::download(new UsersExport, 'usuarios.xlsx');
        }
    }

Explicación de los 4 pasos de auto Size celdas en laravel Excel:

  • ShouldAutoSize: Autoajusta automáticamente el tamaño de las columnas.
  • WithHeadings: Agrega encabezados personalizados.
  • FromCollection: Exporta los datos desde un modelo Eloquent.

Si necesitas personalizar mas a fondo el ancho de cada columnas  y tener más control sobre el tamaño de cada columna, puedes usar WithColumnWidths en lugar de ShouldAutoSize:

¿Como personalizar el ancho de cada columna con Laravel-Excel?

A continuación, veremos ejemplos de como tener el máximo control sobre las celdas en exportación de excel.

use Maatwebsite\Excel\Concerns\WithColumnWidths;

class UsersExport implements FromCollection, WithHeadings, WithColumnWidths
{
    public function columnWidths(): array
    {
        return [
            'A' => 10,
            'B' => 20,
            'C' => 30,
            'D' => 25,
        ];
    }
}

Otro ejemplo de interacciona seria lo siguiente

namespace App\Exports;
use Maatwebsite\Excel\Concerns\ShouldAutoSize;

class InvoicesExport implements ShouldAutoSize
{
    ...
}

Con esto esperamos que ayude a personar el ancho de cada columna o dejarlo el ancho de manera automática con ShouldAutoSize.

Auto Size de celdas en exportar ficheros excel en laravel
Auto Size de celdas en exportar ficheros excel en laravel

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en una estrella para puntuarlo!

Promedio de puntuación 0 / 5. Recuento de votos: 0

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

Leave a comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *