快速解析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);
    }
相关推荐
HTouying1 天前
线程池【工具类】
java
深盾科技1 天前
融合C++与Python:兼顾开发效率与运行性能
java·c++·python
我待_JAVA_如初恋1 天前
idea创建MavenJavaWeb项目以后,包结构缺java
java·ide·intellij-idea
来深圳1 天前
leetcode 739. 每日温度
java·算法·leetcode
CC大煊1 天前
【java】Druid数据库连接池完整配置指南:从入门到生产环境优化
java·数据库·springboot
JIngJaneIL1 天前
基于java+ vue交友系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·交友
苹果酱05671 天前
解决linux mysql命令 bash: mysql: command not found 的方法
java·vue.js·spring boot·mysql·课程设计
程序员飞哥1 天前
这样做的幂等也太全了吧
java·后端·spring
虫小宝1 天前
返利软件架构设计:多平台适配的抽象工厂模式实践
java·开发语言·抽象工厂模式