Java用POI解析excel并获取所有单元格数据的实例

时间:2021-05-20

1.导入POI相关jar包

org.apache.poi jar

2.代码示例

public List getAllExcel(File file, String tableName, String fname,  String enterpriseId, String reportId, String projectId)  throws FileNotFoundException, IOException, ClassNotFoundException,  InstantiationException, IllegalAccessException,  NoSuchMethodException, SecurityException, IllegalArgumentException,  InvocationTargetException, ParseException {  List listt = new ArrayList();  try {    FileInputStream fis = new FileInputStream(file);    Workbook workbook = null;    if (fname.toLowerCase().endsWith("xlsx")) {      workbook = new XSSFWorkbook(fis);    } else if (fname.toLowerCase().endsWith("xls")) {      workbook = new HSSFWorkbook(new POIFSFileSystem(fis));    }    int numberOfSheets = workbook.getNumberOfSheets();    for (int i = 0; i < numberOfSheets; i++) {      Sheet sheet = workbook.getSheetAt(i);      for (int j = 1; j < sheet.getPhysicalNumberOfRows(); j++) { // 获取每行        XSSFRow row = (XSSFRow) sheet.getRow(j);        if(row!=null){          List list = new ArrayList();          for (int k = 0; k < sheet.getRow(0).getPhysicalNumberOfCells(); k++) { // 获取每个单元格            Cell cell = row.getCell(k);            if (cell == null) {              list.add("");              continue;            }            switch (cell.getCellType()) {            case Cell.CELL_TYPE_STRING:              list.add(cell.getRichStringCellValue().getString());              break;            case Cell.CELL_TYPE_NUMERIC:              if (DateUtil.isCellDateFormatted(cell)) {                list.add(cell.getDateCellValue());              } else {                list.add(cell.getNumericCellValue());              }              break;            case Cell.CELL_TYPE_BOOLEAN:              list.add(cell.getBooleanCellValue());              break;            case Cell.CELL_TYPE_FORMULA:              list.add(cell.getCellFormula());              break;            default:              list.add("");            break;          }        }        listt.add(getByReflect(tableName, list, enterpriseId,reportId, projectId));      }    }  }    fis.close();      } catch (IOException e) {        e.printStackTrace();      }    return listt;}

以上这篇Java用POI解析excel并获取所有单元格数据的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章