8

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

Boring person
  • 443
  • 1
  • 5
  • 12
  • I think you have to create a blade view with a table in it and images in the table cells and then use that to generate the excel document. If you have a way to do it in php please let me know. – Bollis Oct 23 '15 at 04:10

2 Answers2

13

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');
masud_moni
  • 1,121
  • 16
  • 33
randawahyup
  • 389
  • 2
  • 5
  • 15
  • @randawahyup if we use new PHPExcel_Worksheet_Drawing, its says PHPExcel_Worksheet_Drawing' not found should we need to include any libraries for it. – Crysis Jan 13 '17 at 07:39
  • @Crysis, please include >> use PHPExcel_Worksheet_Drawing; at the top of your page – Ashwin Bhamare Jul 19 '19 at 05:44
3

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;
}