一.描述:记录一下找了一天的BUG,之前使用HSSF插入到EXCEL中图片,后来APP端要求导出.xlsx格式的excel,所以把hssf更换成xssf,因为HSSFClientAnchor a1 = new HSSFClientAnchor(255, 125, 1023, 150, 0, 0,2, 2)和 XSSFClientAnchor a1 = new XSSFClientAnchor(255, 125, 1023, 150, 0, 0,2, 2)入参是一致,所以就出现了bug,之前可以插入图片,更换之后不见了。
二.分析:打开导出的excel,发现是有图片的,具体有没有图片,请百度查询,如何获取excel中所有的图盘,研究构造函数中的参数,如下:
关于HSSFClientAnchor(dx1,dy1,dx2,dy2,col1,row1,col2,row2)的参数,有必要在这里说明一下:
dx1:起始单元格的x偏移量,如例子中的255表示直线起始位置距A1单元格左侧的距离;
dy1:起始单元格的y偏移量,如例子中的125表示直线起始位置距A1单元格上侧的距离;
dx2:终止单元格的x偏移量,如例子中的1023表示直线起始位置距C3单元格左侧的距离;
dy2:终止单元格的y偏移量,如例子中的150表示直线起始位置距C3单元格上侧的距离;
col1:起始单元格列序号,从0开始计算;
row1:起始单元格行序号,从0开始计算,如例子中col1=0,row1=0就表示起始单元格为A1;
col2:终止单元格列序号,从0开始计算;
row2:终止单元格行序号,从0开始计算,如例子中col2=2,row2=2就表示起始单元格为C3;
三.解决方案,将XSSFClientAnchor(dx1,dy1,dx2,dy2,col1,row1,col2,row2) 将加粗的两个参数*1000,问题解决