首页 > 基础资料 博客日记

Java中灵活获取excel中的数据

2023-07-24 14:44:07基础资料围观233

本篇文章分享Java中灵活获取excel中的数据,对你有帮助的话记得收藏一下,看Java资料网收获更多编程知识

在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例子:

代码执行:

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

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


文章来源:https://blog.csdn.net/ProBaiXiaodi/article/details/127688271
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!

标签:

相关文章

本站推荐

标签云