问题的提出
使用java在导入excel表格时,一般采用hssfworkbook(excel2003)和xssfworkbook(excel2007)
首先获取workbook:
/**
* 描述:根据文件后缀,自适应上传文件的版本
*
* @param inStr 将file.getInputStream()获取的输入流
* @param fileName file.getOriginalFilename()获取的原文件名
*/
public static Workbook getWorkbook(InputStream inStr, String fileName) throws Exception {
Workbook wb = null;
String fileType = fileName.substring(fileName.lastIndexOf("."));
if (excel2003L.equals(fileType)) {
wb = new HSSFWorkbook(inStr); // 2003-
} else if (excel2007U.equals(fileType)) {
wb = new XSSFWorkbook(inStr); // 2007+
} else {
throw new Exception("解析的文件格式有误!");
}
return wb;
}
使用List<List>类型存储读取到的数据
/**
*
* 读取指定sheet 页指定行数据
*
* @param sheetIx 指定 sheet 页,从 0 开始
* @param startRow 指定开始行,从 0 开始
* @param endRow 指定结束行,从 0