首页 > 其他 > 详细

POI读取excel中数据

时间:2020-07-21 15:42:52      阅读:50      评论:0      收藏:0      [点我收藏+]

直接贴代码了,包括对于合并单元格的处理。

 

    public String[][] readSheet(Integer sheetId) {

        XSSFSheet sheet = workbook.getSheetAt(sheetId);

        int rowCount = sheet.getPhysicalNumberOfRows();
        String[][] data = new String[rowCount][];
        // 1. 遍历一遍数据
        for (int i = 0; i < rowCount; i++) {
            XSSFRow row = sheet.getRow(i);
            int colCount = row.getPhysicalNumberOfCells();
            data[i] = new String[colCount];

            for (int j = 0; j < colCount; j++) {
                XSSFCell cell = row.getCell(j);
                String value;
                if (cell != null && StringUtils.isNotBlank(value = cell.getStringCellValue())) {
                    data[i][j] = value;
                }
            }
        }


        // 2.解析所有的联合空格
        List<CellRangeAddress> list = sheet.getMergedRegions();
        for (CellRangeAddress cellAddresses : list) {
            int startRow = cellAddresses.getFirstRow();
            int endRow = cellAddresses.getLastRow();
            int startCol = cellAddresses.getFirstColumn();
            int endCol = cellAddresses.getLastColumn();

            // 2.1 起始位置数据
            String value = data[startRow][startCol];

            // 2.2 遍历所有位置数据
            if (StringUtils.isNotBlank(value)) {
                for (int i = startRow; i <= endRow; i++) {
                    for (int j = startCol; j <= endCol; j++) {
                        data[i][j] = value;
                    }
                }
            }
        }
        return data;
    }

 

POI读取excel中数据

原文:https://www.cnblogs.com/yxth/p/13354305.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!