public void echoData(@ApiParam(name="importFile",required=true)@RequestParam MultipartFile importFile,HttpServletRequest request, HttpServletResponse response){
Workbook wb = null;
InputStream is = null;
try {
is = importFile.getInputStream();
wb = new XSSFWorkbook(is);
} catch (Exception ex) {
try {
HSSFWorkbook rwb = new HSSFWorkbook(is);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
以上代码报Your file appears not to be a valid OLE2 document错误,发现在执行完is = importFile.getInputStream();这一行后,is关闭了,后来改成如下代码:
Workbook wb = null;
// 根据文件名判断文件是2003版本还是2007版本
try {
wb = new XSSFWorkbook(importFile.getInputStream());
} catch (Exception ex) {
try {
wb = new HSSFWorkbook(importFile.getInputStream());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
这样就不会报错了