Springboot 使用easyexcel读写Excel


            com.alibaba
            easyexcel
            3.3.2
        

简单粗暴有效,直接ImportExcel.class对象全部String类型,读取到data后,按需自己处理

public String readExcel(@RequestPart("file") MultipartFile file) {
        try {
            EasyExcel.read(file.getInputStream(), ImportExcel.class, new ReadListener() {
                public static final int BATCH_COUNT = 10;
                private List cachedDataList = ListUtils.newArrayListWithExpectedSize(BATCH_COUNT);

                @Override
                public void invoke(ImportExcel data, AnalysisContext context) {
                    // todo 全部为String类型的按需转换为自己最终想要的类型
                    data.setHeight(setHeight(data.getHeight()));
                    log.error("{}", data);
                    cachedDataList.add(data);
                    if (cachedDataList.size() >= BATCH_COUNT) {
                        saveData();
                        cachedDataList = ListUtils.newArrayListWithExpectedSize(BATCH_COUNT);
                    }
                }

                private String setHeight(String height) {
                    return new BigDecimal(height).add(new BigDecimal("200000")).toString();
                }

                @Override
                public void doAfterAllAnalysed(AnalysisContext context) {
                    saveData();
                }

                private void saveData() {
                    log.info("{}条数据,开始存储数据库!", cachedDataList.size());
                    log.info("存储数据库成功!");
                }
            }).sheet().doRead();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return "ok";
    }

你可能感兴趣的:(springbootexcel)