您好,登錄后才能下訂單哦!
這篇文章給大家介紹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; }
關于Java中的excel文件怎么利用POI進行解析就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。