Heim > Java > javaLernprogramm > So verwenden Sie POI zum Importieren und Exportieren von Excel-Tabellen in Java

So verwenden Sie POI zum Importieren und Exportieren von Excel-Tabellen in Java

WBOY
Freigeben: 2023-04-14 23:07:01
nach vorne
2340 Leute haben es durchsucht

1. Java verwendet POI, um den Import und Export von Excel-Tabellen zu implementieren. 1. Abhängigkeiten einführen. 2.1 Controller-Schicht. 2.2 Service-Implementierungsklassen-Schicht 3 . Demo exportieren

3.1 Controller-Ebenerrree

3.2 Service-Implementierungsklasse

rrree2. 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>
Nach dem Login kopieren
2. Demo importieren

/**
     * Excel导入 
     */
    @PostMapping("/import")
    public Result userImport2(@RequestParam("file") MultipartFile file) throws Exception{
        Result result=userService.userImportExcel(file);
        return result;
    }
Nach dem Login kopieren

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;
}
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage