Read xlsRead from java



需要有关的帮助

我有一个Excel文件

TN  FN      MN  LN      Type
MR  Test1   t1  Test1   abc
MR  Test2   t2          abc
MR          t3  Test3   abc
MR  Test4   t4  Test4   abc

我的要求是:

  1. 从java程序中读取行
  2. 检查无效行(如果第2列或第4列为null/空,则它将是无效行,并将此行存储在list1中)
  3. 检查有效行(如果第2列或第4列都不是null/空,则它将是有效行,并将这些行存储在list2中)

1)

FileInputStream file = new FileInputStream("c:\test.xls");
//Get the workbook instance for XLS file 
XSSFWorkbook workbook = new XSSFWorkbook(file);
//Get first sheet from the workbook
XSSFSheet sheet = workbook.getSheetAt(0);
//Iterate through each rows from first sheet
Iterator<Row> rowIterator = sheet.iterator();
while(rowIterator.hasNext()) {
    Row row = rowIterator.next();
    //For each row, iterate through each columns
    Iterator<Cell> cellIterator = row.cellIterator();
    while(cellIterator.hasNext()) {
        Cell cell = cellIterator.next();
        switch(cell.getCellType()) {
            case Cell.CELL_TYPE_BOOLEAN:
                System.out.print(cell.getBooleanCellValue() + "tt");
                break;
            case Cell.CELL_TYPE_NUMERIC:
                System.out.print(cell.getNumericCellValue() + "tt");
                break;
            case Cell.CELL_TYPE_STRING:
                System.out.print(cell.getStringCellValue() + "tt");
                break;
        }
    }
    System.out.println("");
}
file.close();
FileOutputStream out = 
    new FileOutputStream(new File("C:\Users\IBM_ADMIN\Desktop\test.xls"));
workbook.write(out);
out.close();
} catch (FileNotFoundException e) {
    e.printStackTrace();
} catch (IOException e) {
    e.printStackTrace();
}

2) 我被困在这里,如何获取有效行和无效行?

感谢您的帮助

POI需要一点时间来适应。您必须明确检查单元格是空的还是空的。

这里有一个关于SO的好例子。

相关内容

  • 没有找到相关文章

最新更新