随便记录下导入excle的步骤,不是很严谨,不能拿来即用.只供参考
//1.获取到file
UploadFile file = getFile();
//2.获取到workbook
Workbook workbook = getWorkbook(file.getFile());
//3. 开始获取工作表数据
importClassData(workbook)
private Workbook getWorkbook(File file) {
try {
InputStream inp = new FileInputStream(file);
return new XSSFWorkbook(inp);
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
/**
* 循环workbook 获取数据
* @param wb
*/
private void importClassData(final Workbook wb) {
Db.tx(new IAtom() {
public boolean run() throws SQLException {
int sheetNum = wb != null ? wb.getNumberOfSheets() : 0;
String str=" ";
Map<String,List<Record>> map=new HashMap<>();
for (int i = 0; i < sheetNum; i++) {
XSSFSheet sheet = (XSSFSheet) wb.getSheetAt(i);
String sheetName = sheet.getSheetName();
int rows = sheet.getLastRowNum();
List<Record> recordList=new ArrayList<>();
for(int j=3;j<rows;j++){
XSSFRow row = sheet.getRow(j);
Record record = new Record();
record.set("id", IDGenerator.getInstance().getUUID());
if(row ==null) break;
int lastCellNum = Integer.valueOf(row.getLastCellNum());
for(int k=1;k<lastCellNum-1;k++){
XSSFCell cell = row.getCell(k);
if(cell ==null) break;
String value=cell.toString();
//if (row.getCell(1).getStringCellValue().trim().replaceAll(str, "").equals("")) break;
if(cell.toString().trim().equals("")){
break;
}
switch (k) {
case 1:
record.set("name",value);
break;
case 2:
record.set("sex", value.trim());
break;
case 3:
record.set("birthday", value);
break;
case 4:
record.set("id_card_no", value);
break;
case 5:
record.set("home_address", value);
break;
case 6:
record.set("phone", value);
break;
}
log.info(cell.toString());
}
recordList.add(record);
}
log.info(recordList.toString());
map.put(sheetName,recordList);
log.info(map.toString());
}
log.info(map.toString());
return true;
}
});
}