PHPExcel - 为Excel .xls生成的文件创建水印

时间:2013-12-05 12:44:23

标签: phpexcel watermark

我有一个适用于PHPExcel的应用程序,可以在Excel文件中生成订单。 客户希望将订单状态作为Excel文件中的水印。 有没有办法用PHPExcel执行此操作?

我搜索了他们的文档,但没有找到任何结果。我也没有在Google搜索中显示任何示例。

感谢您的投入。

PS:我在PHPWord上看到它是可能的 请参阅我需要的示例:http://0.tqn.com/d/spreadsheets/1/5/D/H/-/-/2011-12-3-excel-watermark.gif

2 个答案:

答案 0 :(得分:4)

使用&G代码打印电子表格时,可以设置页眉以包含背景图像,如开发人员文档的4.6.13部分所述; / Examples文件夹中的04printing.php显示标题中的图像

答案 1 :(得分:0)

您需要使用PhpSpreadsheet库创建图形对象,并将其包含在excel的标题部分。

https://github.com/PHPOffice/PhpSpreadsheet

检查以下工作代码:

  <?php 
    require_once("vendor/autoload.php"); 
    
    // Input File
    $inputFileName = 'Route_details.xlsx';
    
    /** Load $inputFileName to a Spreadsheet Object  **/
    $spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load($inputFileName);
    
    
    // Add a drawing to the header
    $objDrawing = new \PhpOffice\PhpSpreadsheet\Worksheet\HeaderFooterDrawing();
    $objDrawing->setName('Image');
    $objDrawing->setPath('./watermark_sample.png');
    // $objDrawing->setHeight(36);
    
    // Add the drawing object to Header part
    $spreadsheet->getActiveSheet()->getHeaderFooter()->addImage($objDrawing,  \PhpOffice\PhpSpreadsheet\Worksheet\HeaderFooter::IMAGE_HEADER_LEFT);
    $spreadsheet->getActiveSheet()->getHeaderFooter()->setOddHeader('&L&G&');
    
    // Write the data to excel file    
    $writer = new \PhpOffice\PhpSpreadsheet\Writer\Xlsx($spreadsheet);
    $writer->save("ouput.xlsx");