Java利用第三方库POI解析Excel

一、解析Excel文件

在解析Excel之前,首要任务是手动下载并在项目中添加POI第三方库;其次要了解到Excel的后缀名:旧版本的Excel是以.xsl结尾,新版本的Excel是以.xlsx结尾;旧版本用HXSSFWorkbook类进行解析,而新版本使用XSSFWorkbook类进行解析。步骤如下:
首先,在创建一个Workbook对象同时要传入一个输入流对象,其目的是得到解析对象;其次,获取了Workbook对象相当获取到Excel文件、通过Workbook对象的getSheet()方法创建Sheet对象相当于获取Excel文件中的工作簿、接着通过Sheet对象的getRow()方法创建Row对象相当于获取工作簿中的行、最后通过Row对象创建Cell对象相当于获取行中的单元格。

代码如下:

		// 1.得到一个输入流对象
		FileInputStream in = new FileInputStream("E:\\JavaTest\\1627356552686.xlsx");
		try (
		// 2.将输入流对象进行解析 得到workbook对象
		Workbook workbook = new XSSFWorkbook(in)) {
   
		// 3.workbook中有几个工作簿
		int sheetNum = workbook.getNumberOfSheets();
		System.out.println("一共有" + sheetNum + "个工作簿");
		// 3.1通过workbook 创建工作簿对象
		Sheet sheet1 = workbook.getSheet("Sheet0");
		Sheet sheet2 = workbook.getSheetAt(1);
		// 3.2工作簿中有几条数据
		System.out.println("sheet1一共有:" + sheet1.getLastRowNum() + "条数据");
		System.out.println("sheet2一共有:" + sheet2.getLastRowNum() + "条数据");
		// 4.通过Sheet对象创建行对象
		Row row = sheet1.getRow(1);	
		// 5.通过Row对象创建单元格对象
		Cell cell = row.getCell(1);

二、读、写Excel文件的数据

1.读取文件

1.常用方法

1.创建Sheet对象有两种方式:
①通过下标 getSheetAt()方法、②通过sheet名称getSheet(“表名称”)
2.获取工作簿的个数:getNumberOfSheets()方法
3.获取Sheet中的数据数目:getNumberOfSheets()方法
4.获取Row中的单元格数目:getLastCellNum()方法
5.获取单元格数据之前,要进行数据类的判断:getCellType()方法
6.获取单元格数据为字符串:getStringCellValue()方法
7.获取单元格数据为数值:getNumericCellValue()方法

2.代码实现

代码如下:

		try (Workbook workBook = new XSSFWorkbook(
  • 22
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
### 回答1: 在 Java解析 Excel 文件通常需要使用第三方库。常用的有 Apache POIJava Excel API。 Apache POI 是 Apache 基金会的开源项目,可以用来处理各种 Microsoft Office 格式的文件,包括 Excel。它提供了丰富的 API,可以方便地读取和写入 Excel 文件。 Java Excel API 是另一个用于处理 Excel 文件的开源库。它可以读取和写入 Excel 文件,并支持多种 Excel 文件格式,包括 Microsoft Office 和 OpenOffice。 使用这些库解析 Excel 文件的基本步骤如下: 1. 安装并导入所需的库。 2. 加载 Excel 文件。这可以通过使用库中提供的 API 来完成。 3. 读取文件中的数据。这可以通过遍历文件中的行和列来完成。每个单元格的数据可以使用库中提供的 API 来访问。 4. 关闭文件。这可以通过使用库中提供的 API 来完成。 以下是使用 Apache POI 解析 Excel 文件的示例代码: ```java import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io.FileInputStream; import java.io.InputStream; import java.util.Iterator; public class ExcelParser { public static void main(String[] args) throws Exception { // 加载 Excel 文件 InputStream inputStream = new FileInputStream("example.xlsx"); Workbook workbook = new XSSFWorkbook(inputStream); // 获 ### 回答2: 在Java解析Excel有多种方式,其中一种常用的方法是使用Apache POI库。Apache POI是一个流行的Java库,用于读取和写入Microsoft Office格式的文件,包括Excel文件。 首先,需要在Java项目中引入Apache POI的依赖。可以通过Maven或Gradle等构建工具来配置依赖项。接下来,需要创建一个Workbook对象来表示Excel文件,并使用该对象加载Excel文件。 然后,可以使用Workbook对象获取Sheet对象,表示Excel中的工作表。可以通过Sheet对象获取行数和列数,并遍历每个单元格来读取Excel的数据。 为了读取和处理Excel数据,可以使用Cell对象。可以通过Sheet对象的getRow方法获取行对象,再通过行对象的getCell方法获取单元格对象。然后,可以使用单元格对象的getStringCellValue、getNumericCellValue等方法来获取单元格的值。 另外,还可以使用POI的特定类,如DataFormatter,来格式化单元格的值。 最后,需要注意关闭Workbook对象和相关的IO操作。可以使用try-with-resources语句块来自动关闭资源。 综上所述,使用Java解析Excel需要借助Apache POI库,通过Workbook、Sheet和Cell对象来读取和处理Excel数据。通过熟悉POI的API和相关类的用法,可以轻松实现对Excel文件的解析。 ### 回答3: Java解析Excel可以通过使用Apache POI库来实现。Apache POI是一个开源的Java API,用于读取、写入和操作Microsoft Office文件。 首先,需要在项目中添加Apache POI的依赖。可以通过Maven或Gradle进行配置。 接下来,需要使用POIFSFileSystem类来创建一个输入流,将Excel文件加载到内存中。 然后,可以使用HSSFWorkbook类来表示整个工作簿,HSSFSheet类来表示工作表,HSSFRow类来表示行,HSSFCell类来表示单元格。 通过遍历每个工作表,每一行和每个单元格,可以访问Excel中的数据。可以使用getCell方法来获取特定单元格,并使用getStringCellValue或getNumericCellValue等方法来获取单元格中的数据。 如果需要处理特定格式的数据,例如日期或数字格式,可以使用DataFormatter类。 最后,记得在处理完Excel文件后关闭输入流。 以下是一个简单的示例代码,演示了如何使用Apache POI解析Excel文件: ```java import org.apache.poi.hssf.usermodel.*; import org.apache.poi.poifs.filesystem.POIFSFileSystem; import java.io.FileInputStream; import java.io.IOException; public class ExcelParser { public static void main(String[] args) { try { FileInputStream fileInputStream = new FileInputStream("path/to/excel/file.xls"); POIFSFileSystem poifsFileSystem = new POIFSFileSystem(fileInputStream); HSSFWorkbook workbook = new HSSFWorkbook(poifsFileSystem); HSSFSheet sheet = workbook.getSheetAt(0); for (int i = 0; i <= sheet.getLastRowNum(); i++) { HSSFRow row = sheet.getRow(i); for (int j = 0; j < row.getLastCellNum(); j++) { HSSFCell cell = row.getCell(j); String cellValue = cell.getStringCellValue(); System.out.println("Cell value: " + cellValue); } } workbook.close(); fileInputStream.close(); } catch (IOException e) { e.printStackTrace(); } } } ``` 以上就是使用Java解析Excel的简单方法。通过使用Apache POI库,可以轻松地读取和处理Excel文件中的数据。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MM呦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值