0

I'm trying to insert dinamically an image in the footer of an Xlsx document, using PHPSpreadsheet library.

I tried to modify the sample of documentation, but nothing appears when I print the doc.

$inputFileName = './tpl1.xlsx';

$spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load($inputFileName);
$sheet = $spreadsheet->getActiveSheet();

$drawing = new \PhpOffice\PhpSpreadsheet\Worksheet\HeaderFooterDrawing();
$drawing->setName('PhpSpreadsheet logo');
$drawing->setPath('./uploads/blu.png');
$drawing->setHeight(36);
$sheet->getHeaderFooter()->addImage($drawing, \PhpOffice\PhpSpreadsheet\Worksheet\HeaderFooter::IMAGE_FOOTER_CENTER);
$sheet->getHeaderFooter()->setOddHeader('&C&G');

Some ideas?

cesare
  • 2,098
  • 19
  • 29

1 Answers1

0

You must change the setOddHeader

$sheet->getHeaderFooter()->setOddHeader('&C&G');

to

$sheet->getHeaderFooter()->setOddFooter('&C&G');

The HeaderFooter::IMAGE_FOOTER_CENTER and &C&G must correspond each other. You should set a width e.g.: $drawing->setWidth(800);

The fullcode should look like this:

$drawing = new \PhpOffice\PhpSpreadsheet\Worksheet\HeaderFooterDrawing();
$drawing->setName('PhpSpreadsheet logo');
$drawing->setPath('./uploads/blu.png');
$drawing->setWidth(800);

$sheet->getHeaderFooter()->addImage($drawing, \PhpOffice\PhpSpreadsheet\Worksheet\HeaderFooter::IMAGE_FOOTER_CENTER);
$sheet->getHeaderFooter()->setOddFooter('&C&G');