fix #I38857

This commit is contained in:
Looly 2021-02-19 17:50:55 +08:00
parent 3bc5054a9a
commit 1f8bac4afa
2 changed files with 11 additions and 7 deletions

View File

@ -16,6 +16,7 @@
* 【json 】 修复SQLEXception导致的栈溢出issue#1399@Github
* 【extra 】 修复Ftp中异常参数没有传入问题issue#1397@Github
* 【crypto 】 修复Sm2使用D构造空指针问题issue#I37Z4C@Gitee
* 【poi 】 修复ExcelPicUtil中图表报错问题issue#I38857@Gitee
-------------------------------------------------------------------------------------------------------------

View File

@ -25,14 +25,14 @@ import java.util.Map;
/**
* Excel图片工具类
*
*
* @author looly
* @since 4.0.7
*/
public class ExcelPicUtil {
/**
* 获取工作簿指定sheet中图片列表
*
*
* @param workbook 工作簿{@link Workbook}
* @param sheetIndex sheet的索引
* @return 图片映射键格式行_列{@link PictureData}
@ -55,7 +55,7 @@ public class ExcelPicUtil {
// -------------------------------------------------------------------------------------------------------------- Private method start
/**
* 获取XLS工作簿指定sheet中图片列表
*
*
* @param workbook 工作簿{@link Workbook}
* @param sheetIndex sheet的索引
* @return 图片映射键格式行_列{@link PictureData}
@ -80,7 +80,7 @@ public class ExcelPicUtil {
/**
* 获取XLSX工作簿指定sheet中图片列表
*
*
* @param workbook 工作簿{@link Workbook}
* @param sheetIndex sheet的索引
* @return 图片映射键格式行_列{@link PictureData}
@ -96,9 +96,12 @@ public class ExcelPicUtil {
XSSFPicture pic;
CTMarker ctMarker;
for (XSSFShape shape : shapes) {
pic = (XSSFPicture) shape;
ctMarker = pic.getPreferredSize().getFrom();
sheetIndexPicMap.put(StrUtil.format("{}_{}", ctMarker.getRow(), ctMarker.getCol()), pic.getPictureData());
if(shape instanceof XSSFPicture){
pic = (XSSFPicture) shape;
ctMarker = pic.getPreferredSize().getFrom();
sheetIndexPicMap.put(StrUtil.format("{}_{}", ctMarker.getRow(), ctMarker.getCol()), pic.getPictureData());
}
// 其他类似于图表等忽略see: https://gitee.com/loolly/hutool/issues/I38857
}
}
}