Как вставить изображение в нижний колонтитул документа Excel с помощью phpspreadsheet - PullRequest
0 голосов
/ 25 июня 2019

Я пытаюсь динамически вставить изображение в нижний колонтитул документа Xlsx, используя библиотеку PHPSpreadsheet.

Я пытался изменить образец документации, но при печати документа ничего не появляется.

$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');

Некоторые идеи?

1 Ответ

0 голосов
/ 26 июня 2019

Вы должны изменить setOddHeader

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

до

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

HeaderFooter::IMAGE_FOOTER_CENTER и &C&G должны соответствовать друг другу. Вы должны установить ширину, например: $drawing->setWidth(800);

Полный код должен выглядеть следующим образом:

$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');
...