快速解析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);
    }
相关推荐
kk哥889924 分钟前
如何快速掌握JavaSE的核心语法?
java
我是一只小青蛙88826 分钟前
AVL树:平衡二叉搜索树原理与C++实战
java·jvm·面试
浩瀚地学1 小时前
【Java】JDK8的一些新特性
java·开发语言·经验分享·笔记·学习
XXOOXRT2 小时前
基于SpringBoot的加法计算器
java·spring boot·后端·html5
阿崽meitoufa2 小时前
JVM虚拟机:垃圾收集器和判断对象是否存活的算法
java·jvm·算法
我是苏苏2 小时前
C#高级:使用ConcurrentQueue做一个简易进程内通信的消息队列
java·windows·c#
heartbeat..4 小时前
数据库基础知识体系:概念、约束、范式与国产产品
java·数据库·学习笔记·国产数据库
PXM的算法星球4 小时前
【操作系统】哲学家就餐问题实现详解
java
2301_815357704 小时前
Java项目架构从单体架构到微服务架构的发展演变
java·微服务·架构