遇到这个一个问题,需要生成带水印的Excel文件,具体思路如下:先设置一个调好格式的Excel文件作为模板,再用PHP以模板文件填充,并生成新的Excel文件,这样新的文件就和模板文件格式一致。程序用到了PhpSpreadsheet,步骤如下:
1、下载PhpSpreadsheet扩展,命令:composer require phpoffice/phpspreadsheet
至于怎么安装composer,以及怎么设置国内镜像等问题本文不着讨论。
2、phpspreadsheet安装完成后就直接上代码:<?php
require 'vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
//指定模板文件所在位置
$template = 'template.xlsx';
$spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load($template);
//将活动工作表索引设置为第一个工作表:
$spreadsheet->setActiveSheetIndex(0);
//获取活动工作表
$worksheet = $spreadsheet->getActiveSheet();
//填充数据
$worksheet->getCell('A2')->setValue('1');
$worksheet->getCell