首先导入
public void personUpload(MultipartFile file) {
try {
//file从前端传过来的 直接接收 或者自己读取一个InputStream
Workbook wb = new XSSFWorkbook(file.getInputStream());
//获取第0个sheet 下标从0开始
Sheet sheet1 = wb.getSheetAt(0);
for (int i = 1;i<= sheet1.getLastRowNum(); i++) {
//获取第i行数据 下标从0开始 这里i从1开始是因为第0行为字段名 不需要
Row r = sheet1.getRow(i);
//设置第i行的第0列为String类型 不然可能是数字类型
if(r.getCell(0)!=null){
r.getCell(0).setCellType(Cell.CELL_TYPE_STRING);
}
String personID = r.getCell(0).getStringCellValue();
String personName = r.getCell(1).getStringCellValue();
Map param = new HashMap();
param.put("personName",personName );
param.put("personID",personID );
updateOnePerson(param);
}
//获取第1个sheet
Sheet sheet2 = wb.getSheetAt(1);
List<TaskMessage> list = new ArrayList<>();
for (int i = 1;i<= sheet2.getLastRowNum(); i++) {
}
} catch (IOException e) {
e.printStackTrace();
}
}
然后导出
public void getDownLoad(HttpServletRequest request, HttpServletResponse response,String PERSONID) {
List<String[]> head0s = new ArrayList<>();
List<String[]> headCodes = new ArrayList<>();
List<List<Map>> deviceList = new ArrayList<>();
String[] sheets = new String[2];
//sheet名字
sheets[0] = "个人信息";
sheets[1] = "任务情况";
//表头1
String[] head01 = {"人员ID","姓名", "性别","单位"};
//表头对应的字段名1
String[] headCode1 = {"PERSONID", "PERSONNAME", "GENDER","ORGFULLNAME"};
//数据 map的key必须和headCode1的一致
List<Map> person = mapper.getDownLoad(PERSONID);
//表头2
String[] head02 = {"人员id", "任

最低0.47元/天 解锁文章
2318

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



