使用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);
如果帮助到你,记得点赞留言