Insert image with Laravel-Excel

18,955

Solution 1

first you need declare Class use PHPExcel_Worksheet_Drawing;

and in controller :

$filename = 'File Name';
    
Excel::create($filename, function($excel){    
    $excel->sheet('sheet name', function($sheet){
        $objDrawing = new PHPExcel_Worksheet_Drawing;
        $objDrawing->setPath(public_path('img/headerKop.png')); //your image path
        $objDrawing->setCoordinates('A2');
        $objDrawing->setWorksheet($sheet);
    });
})->export('xls');

Solution 2

For new version 3.1

Import

use Maatwebsite\Excel\Concerns\WithDrawings;

use PhpOffice\PhpSpreadsheet\Worksheet\Drawing;

and

class InvoicesExport implements WithDrawings

public function drawings()
{
    $drawing = new Drawing();
    $drawing->setName('Logo');
    $drawing->setDescription('This is my logo');
    $drawing->setPath(public_path('/img/vir.png'));
    $drawing->setHeight(90);
    $drawing->setCoordinates('B3');

    return $drawing;
}
Share:
18,955

Related videos on Youtube

Boring person
Author by

Boring person

Updated on September 14, 2022

Comments

  • Boring person
    Boring person over 1 year

    I'm using this package to generate excel documents with Laravel: https://github.com/Maatwebsite/Laravel-Excel

    However, documentation doesn't say anything about inserting images from files into my excel document. I'm pretty sure it's possible with native phpexcel itself, but how to do this through this package?

    Some example code would be much appreciated..

  • Crysis
    Crysis over 7 years
    @randawahyup if we use new PHPExcel_Worksheet_Drawing, its says PHPExcel_Worksheet_Drawing' not found should we need to include any libraries for it.
  • Ashwin Bhamare
    Ashwin Bhamare over 4 years
    @Crysis, please include >> use PHPExcel_Worksheet_Drawing; at the top of your page
  • Abhinav Keshri
    Abhinav Keshri over 3 years
    is there a way that, image can be fetched from a url (someimgae.jpg) instead of "public_path('/img/vir.png')"
  • Freddy Daniel
    Freddy Daniel over 2 years
    Thanks bro. It worked!