java 读取Excel文件
声明:
java操作excel文件,常用 jxl 或 Apache poi 两种方式,
主要区别:jxl不支持.xlsx,而poi支持.xlsx、.xls
jxl依赖Jar包:jxl.jar
poi依赖Jar包:
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.0.0</version>
</dependency>
该文章主要介绍poi方式(XSSFWorkbook),poi方式提供HSSFWorkbook和XSSFWorkbook两个实现类。
-
HSSFWorkbook : 这个类有读写.xls 格式和写入Microsoft Excel文件的方法。它与微软Office97-2003版本兼容。
-
XSSFWorkbook : 这个类有读写Microsoft Excel和OpenOffice的XML文件的格式.xls或.xlsx的方法。它与MS-Office版本2007或更高版本兼容。
基本概念介绍:
一个工作簿,可包含工作表,一个工作表可有多个行,一个行可有多个单元格
工作簿 ----------XSSFWorkbook
工作表 ----------XSSFSheet
行---------------XSSFRow
单元格-----------XSSFCell
代码实现
1 public static void excelData(String filePath) { 2 try { 3 //创建工作簿 filePath="D:\\TEST\\temp\\abc.xlsx" 4 XSSFWorkbook xssfWorkbook = new XSSFWorkbook(new FileInputStream(filePath)); 5 System.out.println("获取工作薄对象:" + xssfWorkbook); 6 //读取第一个工作表 7 XSSFSheet sheet = xssfWorkbook.getSheetAt(0); 8 System.out.println("工作表对象:" + sheet); 9 //获取最后一行的num,即总行数。此处从0开始计数 10 int maxRow = sheet.getLastRowNum(); 11 System.out.println("总行数:" + maxRow); 12 for (int row = 0; row <= maxRow; row++) { 13 //获取最后单元格num,即总单元格数 ***注意:此处从1开始计数*** 14 int maxRol = sheet.getRow(row).getLastCellNum(); 15 System.out.println("第" + row + "行,数据如下:"); 16 for (int rol = 0; rol < maxRol; rol++) { 17 System.out.print(sheet.getRow(row).getCell(rol) + " "); 18 } 19 System.out.println(); 20 } 21 } catch (Exception e) { 22 e.printStackTrace(); 23 } 24 }
相关参考:
https://www.jb51.net/article/168925.htm 【推荐】
https://www.jianshu.com/p/853ab5523f29
https://blog.csdn.net/Q_Q104926/article/details/108331915
https://www.cnblogs.com/tk55/p/7453024.html 【jxl相关实现】
浙公网安备 33010602011771号