java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Java获取excel数据

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

作者:一枝风

这篇文章主要给大家介绍了关于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数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文