读取同一个excel的时候(多个sheet),创建了多个WorkBook会出现这种问题。引起这种错误的原因估计多个读写流同时去读取同一个内存的原因照成的,解决办法是 使用单例模式。
public static ImportPicture getImportPicture(ByteArrayInputStream in,Boolean isNew) throws IOException{
if(isNew){ // 是不是一个新的excel
INSTANCE = new ImportPicture(in);
System.out.println("==================new ");
}
return INSTANCE;
}
private ImportPicture(ByteArrayInputStream in ) throws IOException{
workbook = new HSSFWorkbook(new POIFSFileSystem(in));
pictures = workbook.getAllPictures();
}
return sheet;
}
public void setSheet(String sheetName) {
this.sheet = workbook.getSheet(sheetName);
}
本文详细阐述了在处理多个sheet时,读取同一个Excel文件导致的问题,以及通过应用单例模式来解决并发读取冲突的方法。
7676

被折叠的 条评论
为什么被折叠?



