快速解析excel

背景

如果你经常使用excel,想将excel的数据快速插入数据库,或者读取excel的内容,做一些逻辑处理。那么本文可以帮助你。

采用poi jar

直接将文件转为文件流,后续获取流来操作数据。

java 复制代码
 public Integer doUploadMetaQ(InputStream inputStream) {
        List<RiskAppBasicDataDO> riskAppBasicDataDOList = new ArrayList<>();
        try {
            Workbook workbook = new XSSFWorkbook(inputStream);
            Sheet sheet = workbook.getSheetAt(RiskAppBasicDataConstant.ZERO);
            for (int i = 1; i < sheet.getPhysicalNumberOfRows(); i++) {
                RiskAppBasicDataDO riskAppBasicDataDO = new RiskAppBasicDataDO(StringUtils.EMPTY);
                Row row = sheet.getRow(i);

                riskAppBasicDataDO.setAppName(row.getCell(0)==null?"":row.getCell(0).toString());
                riskAppBasicDataDO.setServiceType(ServiceTypeEnum.METAQ.getValue());
                riskAppBasicDataDO.setDetailType(row.getCell(2)==null?"":row.getCell(2).toString());
                riskAppBasicDataDO.setServiceName(row.getCell(1)==null?"":row.getCell(1).toString());
                riskAppBasicDataDO.setNamespace(row.getCell(3)==null?"":row.getCell(3).toString());
                log.info("appName is {} ",riskAppBasicDataDO.getAppName());
                riskAppBasicDataDOList.add(riskAppBasicDataDO);
            }

        } catch (IOException e) {
            e.printStackTrace();
        }
        if (CollectionUtils.isEmpty(riskAppBasicDataDOList)) return RiskAppBasicDataConstant.ZERO;
        return riskAppBasicDataDao.batchInsert(riskAppBasicDataDOList);
    }
相关推荐
Nonoas7 小时前
动态代理:发布订阅的高级玩法
java·ide·intellij-idea
程序员-周李斌7 小时前
Java 死锁
java·开发语言·后端
皮皮林5518 小时前
Prometheus+Grafana,打造强大的监控与可视化平台
java
JasmineWr8 小时前
CompletableFuture相关问题
java·开发语言
零雲8 小时前
java面试:知道java的反射机制吗
java·开发语言·面试
java1234_小锋9 小时前
Java进程占用的内存有哪些部分?
java
sxlishaobin9 小时前
Spring Bean生命周期详解
java·后端·spring
曹牧9 小时前
Java:Assert.isTrue()
java·前端·数据库
梦里小白龙9 小时前
JAVA 策略模式+工厂模式
java·开发语言·策略模式
你不是我我10 小时前
【Java 开发日记】我们来说一说 Redis 主从复制的原理及作用
java·redis·github