easyexcel 设置header_EasyExcel导出添加水印(设置背景,非插入图片的方式)

本文介绍如何通过EasyExcel和Java生成图片作为背景来实现Excel水印效果。适用于使用POI库且需要XSSFWorkbook的对象,例如Excel2007的.xlsx文件。文章提供了具体的代码实现,包括创建水印图片、设置水印背景以及EasyExcel导出时应用水印的示例。
摘要由CSDN通过智能技术生成

引言

本文添加水印通过java生成图片,设置为excel背景图片实现。不仅仅局限于EasyExcel,凡是采用POI实现都可以采用该方案,但唯一的局限在于必须使用POI中的XSSFWorkbook对象,也就是对应Excel2007的版本,扩展名是.xlsx,具体实现可查看以下代码。

maven依赖

com.alibaba

easyexcel

2.2.5

org.projectlombok

lombok

1.18.12

provided

org.apache.poi

ooxml-schemas

1.4

代码实现

主要思路还是通过easyexcel获取XSSFSheet对象,可以实现SheetWriteHandler,重写afterSheetCreate方法来实现设置背景。easyexcel默认使用的SXSSFWorkbook(低内存操作excel的方式),设置inMemory(true)则会使用XSSFWorkbook构造excel操作对象。

如果不是使用easyexcel框架,使用XSSFWorkbook对象来创建excel操作对象即可。

1.eaysexcel Handler编写

/**

* excel添加水印,只支持XSSFWorkbook,其余类别:SXSSFWorkbook、SXSSFWorkbook请另寻他法

* easyExcel使用时需要设置inMemory(true),否者默认使用的是SXSSFWorkbook,会报错!

*/

@RequiredArgsConstructor

public class WaterMarkHandler implements SheetWriteHandler {

private final String WATER_MARK;

public static ByteArrayOutputStream createWaterMark(String content) throws IOException {

int width = 200;

int height = 150;

BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);// 获取bufferedImage对象

St

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值