POI库生成带图片的Excel文件,整行删除数据导致图片位置错乱问题解决方案

使用poi库插入图片正常流程:

XSSFClientAnchor anchor = new XSSFClientAnchor();
anchor.setCol1(0); //指定起始位置
anchor.setRow1(0);
anchor.setCol2(1); //指定结束位置
anchor.setRow2(1);
anchor.setDx1(0); //设置偏移量
anchor.setDy1(0);
anchor.setDx2(0);
anchor.setDy2(0);

上面是将图片向目标坐标单元格内插入的流程,如果插入多个图片,生成的Excel文件编辑整行、整列删除数据时相邻行、列图片会跟随着消失。

此问题困扰我许久,终于发现解决方案:

1:结束坐标设置为和起始坐标一致

2:设置结束位置偏移量,通过设置偏移量来拉伸图片,填充单元格

这样操作后生成的Excel文件,整行、整列删除数据后图片将不再错乱

XSSFClientAnchor anchor = new XSSFClientAnchor();
anchor.setCol1(3); //指定起始位置
anchor.setRow1(4);
anchor.setCol2(3); //指定结束位置(这里是重点1,结束坐标设置为和起始坐标一样)
anchor.setRow2(4);
anchor.setDx1(0); //设置起始位置偏移量
anchor.setDy1(0);
anchor.setDx2(870000); //设置结束位置偏移量(这里是重点2,设置结束位置偏移量)
anchor.setDy2(1000000);

如果帮助到你,记得点赞留言

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值