用jxl Workbook 创建时,报错ArrayIndexOutOfBoundsException: 0
项目中使用了jxl,跑得好好的一个项目,突然在modifyExcel()方法里报错。项目代码没有动过,查看日志文件后,定位在 wb = Workbook.getWorkbook(is); 这一行代码上报错
百思不得其解,在网上百度了很久之后,发现有一个类似的demo,https://www.oschina.net/question/1780614_179906?sort=time,
与我的报错信息相同,就猜测我的问题是不是跟他类似
代码如下:
public boolean modifyExcel(String excelpath, Integer sorId)
{
boolean b = true;
InputStream is = null;
WritableWorkbook wbe = null;
System.out.println("after decode=================" + excelpath);
try {
TtSorInformationDto ttSorInformationDto = this.ttSorInformationService.querySorDetailById(sorId);
Map map = new HashMap();
map.put("sorId", sorId);
map.put("isRequired", Arrays.asList(new String[] { "1", "2" }));
List list = this.ttSorInformationService.queryAppendixBySorId(map);
Workbook wb = null;
try {
is = new FileInputStream(excelpath);
wb = Workbook.getWorkbook(is);
} catch (BiffException e) {
b = false;
e.printStackTrace();
} catch (IOException e) {
b = false;
e.printStackTrace();
}
wbe = Workbook.createWorkbook(new File(excelpath), wb);
WritableSheet sheet = wbe.getSheet(0);
WritableCell cell = sheet.getWritableCell(2, 17);
int rows = sheet.getRows();
CellFormat cf = cell.getCellFormat();
Label lbl = new Label