首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

解析xls文件,解析的总条数有关问题-

2012-09-01 
解析xls文件,解析的总条数问题------急!急再导入解析xls文件时,有的文件解析的总条数解析正确,有的多了一

解析xls文件,解析的总条数问题------急!急
再导入解析xls文件时,有的文件解析的总条数解析正确,有的多了一条

解析代码 

Java code
public List<HashMap<String, Object>> excuteExcel(InputStream is,            int sheetNumber) throws Exception {                HSSFWorkbook workbook = new HSSFWorkbook(is);            List<HashMap<String, Object>> result = new ArrayList<HashMap<String, Object>>();                //得到 sheet        HSSFSheet sheet = workbook.getSheetAt(sheetNumber);        // 一共有 sheet         int rowCount = sheet.getLastRowNum();        if (rowCount < 1) {            return result;        }        //得到一个有多少个例        int cellCount = sheet.getRow(0).getLastCellNum();        // 遍历所有的row        for (int rowIndex = 0; rowIndex <= rowCount; rowIndex++) {            //得到俱体的            HSSFRow row = sheet.getRow(rowIndex);            if (null != row) {                HashMap<String, Object> rowData = new HashMap<String, Object>();                                // 遍历例cell                for (short cellIndex = 0; cellIndex < cellCount; cellIndex++) {                    HSSFCell cell = row.getCell(cellIndex);                // 得到例的值                Object cellStr = this.getCellString(cell)==null?"":this.getCellString(cell);                                     String str=cellStr.toString();                                     if(str!=null){                                  str=str.replaceAll("'", "");                                      }                    rowData.put(String.valueOf(cellIndex), cellStr);                                     }                result.add(rowData);            }        }        return result;    }


[解决办法]
没看代码,不过多的一行可能是空行,在里面编辑过的,虽然没数据,但解析的时候也算一行。
判断总行数,可以根据行是否有值来判断该行是否为有效行。
[解决办法]
这个验证下打出的内容,验证的时候前面加个标志。看看到底多的是什么。

这个要看你的要求,如果需要就不做操作,如果不需要就remove掉呗。

个人觉得应该默认都要去掉null的数据吧。就像你说的if()...else...

热点排行