Java如何读取Excel文件呢?

欣喜 Java经验 发布时间:2025-01-27 11:44:19 阅读数:8538 1
下文笔者讲述java代码读取excel文件的方法分享,如下所示

读取.xlsx 文件

/**
 * 读取 .xlsx 文件
 * @param excelFilePath
 */
public static list<List<List<String>>> readExcelXlsx(String excelFilePath) {
    try {
        // 数据列表
        List<List<List<String>>> dataList = new ArrayList<>();
        //创建工作簿对象
        XSSFWorkbook xssfWorkbook = new XSSFWorkbook(new FileInputStream(excelFilePath));
        //获取工作簿下sheet的个数
        int sheetNum = xssfWorkbook.getNumberOfSheets();
        //遍历工作簿中的所有数据
        for (int i = 0; i < sheetNum; i++) {
            // 存储每一工作簿的数据
            List<List<String>> sheetList = new ArrayList<>();
            //读取第i个工作表
            XSSFSheet sheet = xssfWorkbook.getSheetAt(i);
            //获取最后一行的num,即总行数。此处从0开始
            int maxRow = sheet.getLastRowNum();
            for (int row = 0; row <= maxRow; row++) {
                // 存储每一行的数据
                List<String> resList = new ArrayList<>();
                //获取最后单元格num,即总单元格数 ***注意:此处从1开始计数***
                int maxRol = sheet.getRow(row).getLastCellNum();
                for (int rol = 0; rol < maxRol; rol++) {
                    resList.add(String.valueOf(sheet.getRow(row).getCell(rol)));
                }
                sheetList.add(resList);
            }
            dataList.add(sheetList);
        }
        return dataList;
    } catch (IOException e) {
        System.out.println("============================================");
        System.out.println("文件读取失败");
        System.out.println(e.getMessage());
        System.out.println("============================================");
        return null;
    }
}

读取.xls文件

/**
 * 读取 .xls文件
 * @param excelFilePath
 */
public static List<List<List<String>>> readExcelXls(String excelFilePath) {
    try {
        List<List<List<String>>> dataList = new ArrayList<>();
        //创建工作簿
        HSSFWorkbook hssfWorkbook = new HSSFWorkbook(new FileInputStream(excelFilePath));
        //获取工作簿下sheet的个数
        int sheetNum = hssfWorkbook.getNumberOfSheets();
        //遍历工作簿中的所有数据
        for (int i = 0; i < sheetNum; i++) {
            // 存储每一工作簿的数据
            List<List<String>> sheetList = new ArrayList<>();
            //读取第i个工作表
            HSSFSheet sheet = hssfWorkbook.getSheetAt(i);
            //获取最后一行的num,即总行数。此处从0开始
            int maxRow = sheet.getLastRowNum();
            for (int row = 0; row <= maxRow; row++) {
                // 存储每一行的数据
                List<String> resList = new ArrayList<>();
                //获取最后单元格num,即总单元格数 ***注意:此处从1开始计数***
                int maxRol = sheet.getRow(row).getLastCellNum();
                for (int rol = 0; rol < maxRol; rol++) {
                    resList.add(String.valueOf(sheet.getRow(row).getCell(rol)));
                }
                sheetList.add(resList);
            }
            dataList.add(sheetList);
        }
        return dataList;
    } catch (IOException e) {
        System.out.println("============================================");
        System.out.println("文件读取失败");
        System.out.println(e.getMessage());
        System.out.println("============================================");
        return null;
    }
}
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202501/17379495008259.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者