码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • excel导入存到数据库(老项目 poi)


    @PostMapping("/waterTest/importData")
    public void importData(MultipartFile file, HttpServletRequest req) throws IOException {
        InputStream inputStream = file.getInputStream();
    
        try {
            //获取到的list集合
            List> list = getListByExcel(inputStream);
            
        } catch (Exception e) {
            e.printStackTrace();
        
     
        }
      
    }
    
    /**
     * @Description:获取IO流中的数据,组装成List>对象
     * @param in,fileName
     * @return
     * @throws IOException
     */
    public static List> getListByExcel(InputStream in) throws Exception{
        List> list = null;
    
        //创建Excel工作薄
        Workbook work = new HSSFWorkbook(in);
        if(null == work){
            throw new Exception("创建Excel工作薄为空!");
        }
        Sheet sheet = null;  //页数
        Row row = null;  //行数
        Cell cell = null;  //列数
    
        list = new ArrayList>();
        //遍历Excel中所有的sheet
            sheet = work.getSheetAt(0);
            //遍历当前sheet中的所有行
            for (int j = sheet.getFirstRowNum(); j <= sheet.getLastRowNum(); j++) {
                row = sheet.getRow(j);
                if(row==null||row.getFirstCellNum()==j){continue;}
                //遍历所有的列
                List li = new ArrayList();
                    for (int y = row.getFirstCellNum(); y < row.getLastCellNum(); y++) {
                        cell = row.getCell(y);
                        li.add(getValue(cell));
                    }
                    if(getValue(row.getCell(0))!=null&&!getValue(row.getCell(0)).equals("")){
                        list.add(li);
                    }
    
            }
    
        return list;
    
    }
    
    /**
     * @Description:对表格中数值进行格式化
     * @param cell
     * @return
     */
    //解决excel类型问题,获得数值
    public static String getValue(Cell cell) {
        String value = "";
        if(null==cell){
            return value;
        }
        switch (cell.getCellType()) {
            //数值型
            case Cell.CELL_TYPE_NUMERIC:
                if (HSSFDateUtil.isCellDateFormatted(cell)) {
                    //如果是date类型则 ,获取该cell的date值
                    Date date = HSSFDateUtil.getJavaDate(cell.getNumericCellValue());
                    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
                    value = format.format(date);;
                }else {// 纯数字
                    //BigDecimal big=new BigDecimal(cell.getNumericCellValue());
                    //value = big.toString();
                    value= String.valueOf(cell.getNumericCellValue());
                    //解决1234.0  去掉后面的.0
                /*    if(null!=value&&!"".equals(value.trim())){
                        String[] item = value.split("[.]");
                        if(1
                    
                        
                    
    
                    
  • 相关阅读:
    css定位
    胆囊结石的后果
    远程访问Linux的DataEase数据可视化分析,有哪些推荐的工具?
    多线程案例(线程池篇)
    SQL调优
    Tomcat 启动闪退的通用解决方案
    ED8000 地下电子标签探测器|标识器探测仪深度测量校准操作说明
    二叉树类题目 力扣
    李沐_动手学深度学习第5章卷积神经网络_笔记
    Vue3 + Nodejs 实战 ,文件上传项目--实现图片上传
  • 原文地址:https://blog.csdn.net/ChuandongTan/article/details/127868589
    • 最新文章
    • 攻防演习之三天拿下官网站群
      数据安全治理学习——前期安全规划和安全管理体系建设
      企业安全 | 企业内一次钓鱼演练准备过程
      内网渗透测试 | Kerberos协议及其部分攻击手法
      0day的产生 | 不懂代码的"代码审计"
      安装scrcpy-client模块av模块异常,环境问题解决方案
      leetcode hot100【LeetCode 279. 完全平方数】java实现
      OpenWrt下安装Mosquitto
      AnatoMask论文汇总
      【AI日记】24.11.01 LangChain、openai api和github copilot
    • 热门文章
    • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
      奉劝各位学弟学妹们,该打造你的技术影响力了!
      五年了,我在 CSDN 的两个一百万。
      Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
      面试官都震惊,你这网络基础可以啊!
      你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
      心情不好的时候,用 Python 画棵樱花树送给自己吧
      通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
      13 万字 C 语言从入门到精通保姆级教程2021 年版
      10行代码集2000张美女图,Python爬虫120例,再上征途
    Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
    正则表达式工具 cron表达式工具 密码生成工具

    京公网安备 11010502049817号