Java中如何灵活获取excel中的数据

 更新时间:2023年07月19日 14:58:06   作者:一枝风  
这篇文章主要给大家介绍了关于Java中如何灵活获取excel中的数据,在日常工作中我们常常会进行文件读写操作,除去我们最常用的纯文本文件读写,更多时候我们需要对Excel中的数据进行读取操作,需要的朋友可以参考下

在java当中获取excel数据,获取每一列数据、每一行数据

在这里例子是将每一行数据获取出来,并带着表头数据返回。

代码:

具体实现逻辑在代码注释当中可以参见。

public static List<Map<String,Object>> test1() throws Exception{
        File file = new File("C:/Users/luo_a/Desktop/数据测试.xlsx");
        if (!file.exists()){
            throw new Exception("文件不存在!");
        }
        InputStream in = new FileInputStream(file);
        // 读取整个Excel
        XSSFWorkbook sheets = new XSSFWorkbook(in);
        // 获取第一个表单Sheet
        XSSFSheet sheetAt = sheets.getSheetAt(0);
        //默认第一行为标题行,i = 0
        XSSFRow titleRow = sheetAt.getRow(0);
        List<Map<String,Object>> mapList = new ArrayList<>();
        // 循环获取每一行数据
        for (int i = 1; i < sheetAt.getPhysicalNumberOfRows(); i++) {
            XSSFRow row = sheetAt.getRow(i);
            // 读取每一列内容
            Map<String,Object> map = new HashMap<>();
            for (int index = 0; index < row.getPhysicalNumberOfCells(); index++) {
                XSSFCell titleCell = titleRow.getCell(index);
                XSSFCell cell = row.getCell(index);
                cell.setCellType(CellType.STRING);
                if (cell.getStringCellValue().equals("")) {
                    continue;
                }
                //表头数据
                String titleName = titleCell.getStringCellValue();
                //单元格内容
                String valueName = cell.getStringCellValue();
                //每一行的数据
                map.put(titleName,valueName);
            }
            mapList.add(map);
        }
        System.out.println(JSON.toJSONString(mapList));
        return mapList;
    }

excel例子:

代码执行:

  将执行结果格式化一下,更直观。

 我们只要能获取行列数据,在就可以根据自己的实际需要去实现自己的代码。

总结

到此这篇关于Java中如何灵活获取excel中数据的文章就介绍到这了,更多相关Java获取excel数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 使用Spring Cache设置缓存条件操作

    使用Spring Cache设置缓存条件操作

    这篇文章主要介绍了使用Spring Cache设置缓存条件操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • java使用jna调用c#中dll的方法详解

    java使用jna调用c#中dll的方法详解

    前一段时间接了个项目,需要用到第三方提供的C#编写的dll,本身项目是java语言,所以便有了下面这篇文章,本文给大家介绍了关于java中如何使用jna调用c#中dll的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-09-09
  • Java Excel文件加密保护数据安全

    Java Excel文件加密保护数据安全

    这篇文章主要为大家介绍了Java Excel文件加密保护数据安全的方法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • Springboot如何使用YML文件配置多环境

    Springboot如何使用YML文件配置多环境

    这篇文章主要介绍了Springboot如何使用YML文件配置多环境问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • Java中线程池自定义实现详解

    Java中线程池自定义实现详解

    这篇文章主要为大家详细介绍了Java如何实现自定义线程池,文中的示例代码讲解详细,对我们学习Java有一定的帮助,感兴趣的小伙伴可以了解一下
    2023-03-03
  • java使用websocket,并且获取HttpSession 源码分析(推荐)

    java使用websocket,并且获取HttpSession 源码分析(推荐)

    这篇文章主要介绍了java使用websocket,并且获取HttpSession,通过使用配置源码分析了各方面知识点,具体操作步骤大家可查看下文的详细讲解,感兴趣的小伙伴们可以参考一下。
    2017-08-08
  • Spring事务失效场景实例详解

    Spring事务失效场景实例详解

    实际项目开发中,如果涉及到多张表操作时,为了保证业务数据的一致性,大家一般都会采用事务机制,好多小伙伴可能只是简单了解一下,遇到事务失效的情况,便会无从下手,下面这篇文章主要给大家介绍了关于Spring事务失效场景的相关资料,需要的朋友可以参考下
    2022-03-03
  • Java使用Predicate过滤集合中的元素的操作方法

    Java使用Predicate过滤集合中的元素的操作方法

    文章介绍了Java 8中Collection接口新增的removeIf方法,该方法允许通过Predicate条件快速移除集合中不符合条件的元素,与传统使用Iterator和remove()方法相比,removeIf方法更加简洁和易读,文章还提供了使用removeIf方法的示例,需要的朋友可以参考下
    2025-11-11
  • Java实现将Word和PDF转成一张垂直拼接长图的工具类

    Java实现将Word和PDF转成一张垂直拼接长图的工具类

    这篇文章主要为大家详细介绍了如何使用Java编写一个将Word和PDF转成一张垂直拼接长图的工具类,支持doc和docx,有需要的小伙伴可以了解下
    2025-10-10
  • Java中内核线程理论及实例详解

    Java中内核线程理论及实例详解

    在本篇文章里小编给大家整理了一篇关于Java中内核线程理论及实例详解内容,有兴趣的朋友们可以学习下。
    2021-03-03

最新评论