<dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>3.3.2</version> </dependency>
简略粗犷无效,间接ImportExcel.class
对象全副String
类型,读取到data
后,按需本人解决
public String readExcel(@RequestPart("file") MultipartFile file) { try { EasyExcel.read(file.getInputStream(), ImportExcel.class, new ReadListener<ImportExcel>() { public static final int BATCH_COUNT = 10; private List<ImportExcel> 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"; }