dongyied24121 2019-06-25 16:03
浏览 352

如何使用phpspreadsheet在excel文档的页脚中插入图像

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?

  • 写回答

1条回答 默认 最新

  • doutun1362 2019-06-26 12:41
    关注

    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');
    
    评论

报告相同问题?

悬赏问题

  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 个人网站被恶意大量访问,怎么办
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM
  • ¥15 划分vlan后不通了
  • ¥15 GDI处理通道视频时总是带有白色锯齿
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)
  • ¥15 自适应 AR 模型 参数估计Matlab程序
  • ¥100 角动量包络面如何用MATLAB绘制