3.1 Controller-Ebenerrree
3.2 Service-Implementierungsklasserrree2. Exportieren und Importieren von Hutool-Tool-Klassen-Kapselungsmethoden
1. Abhängigkeiten einführen
Poi in Tool-Klasse kapseln<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>4.1.2</version> </dependency>2. Demo importieren
/** * Excel导入 */ @PostMapping("/import") public Result userImport2(@RequestParam("file") MultipartFile file) throws Exception{ Result result=userService.userImportExcel(file); return result; }
3. Demo exportieren
public Result userImportExcel(MultipartFile file){ try { InputStream inputStream = file.getInputStream(); XSSFWorkbook sheets = new XSSFWorkbook(inputStream); //获取表单sheet 第一个 XSSFSheet sheetAt = sheets.getSheetAt(0); //获取第一行 int firstRowNum = sheetAt.getFirstRowNum(); //最后一行 int lastRowNum = sheetAt.getLastRowNum(); //存入数据集合 List<User> users=new ArrayList<>(); //遍历数据 for(int i=firstRowNum+1;i<lastRowNum+1;i++){ XSSFRow row = sheetAt.getRow(i); if(row!=null){ /* //获取第一行的第一列 int firstCellNum = row.getFirstCellNum(); //获取第一行的最后列 short lastCellNum = row.getLastCellNum(); for (int j=firstCellNum;j<lastCellNum+1;j++){ //放入集合中需要可以用这种方法 String cellValue = getValue(row.getCell(firstCellNum)); }*/ //这里我就直接赋值 User user = new User(); user.setUname(row.getCell(0).getStringCellValue()); user.setUpassword(row.getCell(1).getStringCellValue()); user.setUsex(row.getCell(2).getStringCellValue()); user.setRole(row.getCell(3).getStringCellValue()); user.setUlove((int) row.getCell(4).getNumericCellValue()); user.setUphoto(row.getCell(5).getStringCellValue()); user.setUaddress(row.getCell(6).getStringCellValue()); users.add(user); } } //保存数据 saveBatch(users); return Result.success(); }catch (Exception e){ e.printStackTrace(); log.info("error:{}",e); } return Result.error("300","导入失败"); } /** * 判断值的类型 */ public String getValue(HSSFCell cell) { if(cell==null){ return ""; } String cellValue= ""; try { DecimalFormat df=new DecimalFormat("0.00"); if(cell.getCellType()== CellType.NUMERIC){ //日期时间转换 if(HSSFDateUtil.isCellDateFormatted(cell)){ cellValue=DateFormatUtils.format(cell.getDateCellValue(),"yyyy-MM-dd"); }else{ NumberFormat instance = NumberFormat.getInstance(); cellValue=instance.format(cell.getNumericCellValue()).replace(",",""); } }else if(cell.getCellType() == CellType.STRING){ //字符串 cellValue=cell.getStringCellValue(); }else if(cell.getCellType() == CellType.BOOLEAN){ //Boolean cellValue= String.valueOf(cell.getBooleanCellValue()); }else if(cell.getCellType() == CellType.ERROR){ //错误 }else if(cell.getCellType() == CellType.FORMULA){ //转换公式 保留两位 cellValue=df.format(cell.getNumericCellValue()); }else{ cellValue=null; } } catch (Exception e) { e.printStackTrace(); cellValue="-1"; } return cellValue; }
Das obige ist der detaillierte Inhalt vonSo verwenden Sie POI zum Importieren und Exportieren von Excel-Tabellen in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!