Insertar imagen en Laravel-Excel

Insertar imagen en Laravel-Excel

Aprenderemos a Insertar imagen en Laravel-Excel. Para insertar imágenes en un archivo Excel usando Laravel-Excel, puedes hacerlo con la biblioteca Maatwebsite\Excel junto con PhpSpreadsheet.

Aquí tienes los pasos para insertar una imagen en un archivo Excel:

💣 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

1. Instalar Laravel-Excel

Si aún no lo tienes instalado, usa:

composer require maatwebsite/excel

2. Crear una Exportación

Ejecuta el siguiente comando para generar una clase de exportación:

php artisan make:export ProductsExport --model=Product

Esto generará un archivo en app/Exports/ProductsExport.php.

3. Modificar la Exportación para Incluir Imágenes

Edita app/Exports/ProductsExport.php:

namespace App\Exports;
use App\Models\Product;
use Maatwebsite\Excel\Concerns\WithDrawings;
use Maatwebsite\Excel\Concerns\FromCollection;
use PhpOffice\PhpSpreadsheet\Worksheet\Drawing;

class ProductsExport implements FromCollection, WithDrawings
{
    public function collection()
    {
        return Product::select('id', 'name', 'price', 'image_path')->get();
    }
    public function drawings()
    {
        $drawings = [];
        $products = Product::select('id', 'image_path')->get();
        foreach ($products as $index => $product) {
            if ($product->image_path && file_exists(public_path($product->image_path))) {
                $drawing = new Drawing();
                $drawing->setName('Product Image');
                $drawing->setDescription('Product Image');
                $drawing->setPath(public_path($product->image_path)); // Ruta de la imagen
                $drawing->setHeight(50); // Altura en píxeles
                $drawing->setCoordinates('D' . ($index + 2)); // Columna y fila

                $drawings[] = $drawing;
            }
        }
        return $drawings;
    }
}

4. Exportar el Archivo Excel

En tu controlador (app/Http/Controllers/ExportController.php), agrega:

use App\Exports\ProductsExport;
use Maatwebsite\Excel\Facades\Excel;


public function export()
{
    return Excel::download(new ProductsExport, 'products.xlsx');
}

5. Definir la Ruta en web.php

use App\Http\Controllers\ExportController;

Route::get('/export-products', [ExportController::class, 'export']);

Ahora, al visitar /export-products, se generará un archivo Excel con imágenes en la columna D.

¿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.