1.导入POI相关jar包
org.apache.poi jar
2.代码示例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
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并获取所有单元格数据的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:http://www.cnblogs.com/xiaofengyuan/p/5756287.html