重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章给大家介绍Java中的excel文件怎么利用POI进行解析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
专注于为中小企业提供成都做网站、成都网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业建安免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了数千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。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; }