POI文件导入:代码实现-解析Excel构造用户列表
生活随笔
收集整理的這篇文章主要介紹了
POI文件导入:代码实现-解析Excel构造用户列表
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
用戶實體類配置構造方法
public User(Object [] values) {//用戶名 手機號 工號 聘用 形式 入職 時間 部門編碼this.username = values[1].toString();this.mobile = values[2].toString();this.workNumber = new DecimalFormat("#").format(values[3]).toString();this.formOfEmployment =((Double) values[4]).intValue();this.timeOfEntry = (Date) values[5];this.departmentId = values[6].toString(); //部門編碼 != 部門id }在系統微服務UserController 中添加上傳方法
/*** 導入Excel,添加用戶* 文件上傳:springboot*/ @RequestMapping(value="/user/import",method = RequestMethod.POST) public Result importUser(@RequestParam(name="file") MultipartFile file) throws Exception {//1.解析Excel//1.1.根據Excel文件創建工作簿Workbook wb = new XSSFWorkbook(file.getInputStream());//1.2.獲取SheetSheet sheet = wb.getSheetAt(0);//參數:索引//1.3.獲取Sheet中的每一行,和每一個單元格//2.獲取用戶數據列表List<User> list = new ArrayList<>();System.out.println(sheet.getLastRowNum());for (int rowNum = 1; rowNum<= sheet.getLastRowNum() ;rowNum ++) {Row row = sheet.getRow(rowNum);//根據索引獲取每一個行Object [] values = new Object[row.getLastCellNum()];for(int cellNum=1;cellNum< row.getLastCellNum(); cellNum ++) {Cell cell = row.getCell(cellNum);Object value = getCellValue(cell);values[cellNum] = value;}User user = new User(values);list.add(user);}//3.批量保存用戶userService.saveAll(list,companyId,companyName);return new Result(ResultCode.SUCCESS); }public static Object getCellValue(Cell cell) {//1.獲取到單元格的屬性類型CellType cellType = cell.getCellType();//2.根據單元格數據類型獲取數據Object value = null;switch (cellType) {case STRING:value = cell.getStringCellValue();break;case BOOLEAN:value = cell.getBooleanCellValue();break;case NUMERIC:if(DateUtil.isCellDateFormatted(cell)) {//日期格式value = cell.getDateCellValue();}else{//數字value = cell.getNumericCellValue();}break;case FORMULA: //公式value = cell.getCellFormula();break;default:break;}return value; }?
總結
以上是生活随笔為你收集整理的POI文件导入:代码实现-解析Excel构造用户列表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: POI文件导入:需求说明
- 下一篇: POI导出人事报表:代码实现