我是靠谱客的博主 淡淡哈密瓜,这篇文章主要介绍Java后台遍历Excel文件的数据,现在分享给大家,希望可以做个参考。

复制代码
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
public static List<Object[]> getExcelAll(File file) { List<Object[]> list = new ArrayList<>(); try { Workbook wb = null; String fileName = file.getName(); if (fileName.toUpperCase().endsWith("XLS")) { wb = new HSSFWorkbook(new FileInputStream(file)); } else if (fileName.toUpperCase().endsWith("XLSX")) { wb = new XSSFWorkbook(new FileInputStream(file)); } // 把一张xls的数据表读到wb里 // 读取第一页,一般一个excel文件会有三个工作表,这里获取第一个工作表来进行操作 HSSFSheet sheet = // wb.getSheetAt(0); Sheet sheet = wb.getSheetAt(0); DecimalFormat df = new DecimalFormat("0"); // 循环遍历表sheet.getLastRowNum()是获取一个表最后一条记录的记录号, int maxNum = sheet.getLastRowNum(); //每一列数据长度应该写死,否则后面遍历取最后列的值会报数组越界异常 Row row1=sheet.getRow(0); int maxRow1 =row1.getLastCellNum(); // 如果总共有3条记录,那获取到的最后记录号就为2,因为是从0开始的 for (int j = 0; j < maxNum + 1; j++) { // 创建一个行对象 Row row = sheet.getRow(j); // 把一行里的每一个字段遍历出来 if (row == null) { continue; } else { int maxRow = row.getLastCellNum(); //跳过纯空数据 if (maxRow < 1) { continue; } String[] str2 = new String[maxRow1]; for (int i = 0; i < maxRow; i++) { // 创建一个行里的一个字段的对象,也就是获取到的一个单元格中的值 Cell cell = row.getCell(i); // if (cell != null) { // System.out.println("类型:" + cell.getCellType()); // } // 在这里我们就可以做很多自己想做的操作了,比如往数据库中添加数据等 // System.out.println("第" + (j + 1) + "行的第" + i + "列的值:" // + cell); if (cell != null) { if (cell.getCellType() == XSSFCell.CELL_TYPE_NUMERIC) { //类型为数值 str2[i] = df.format(cell.getNumericCellValue()); //防止数字变为科学计数 } else { str2[i] = cell + ""; } } } list.add(str2); } } } catch (Exception e) { e.printStackTrace(); } return list; }

最后

以上就是淡淡哈密瓜最近收集整理的关于Java后台遍历Excel文件的数据的全部内容,更多相关Java后台遍历Excel文件内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部