📅  最后修改于: 2023-12-03 14:49:37.256000             🧑  作者: Mango
Apache POI 是一个面向处理 Microsoft Office 文件的 Java 库。它支持多种 Office 格式,包括 Excel、Word、PowerPoint、Visio 等。在本文中,我们将重点介绍如何在 Java 中使用 Apache POI 库打开现有 Excel 工作表。
在使用 Apache POI 库之前,我们需要在项目中引入相应的依赖。以 Maven 为例,可以将以下依赖添加到 pom.xml 文件中:
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.2</version>
</dependency>
其中,poi
模块提供了对 Excel 2003 格式文件(.xls)的支持,而 poi-ooxml
模块则提供了对 Excel 2007 及以上格式文件(.xlsx)的支持。根据实际需求选择引入即可。
在引入依赖之后,我们就可以开始使用 Apache POI 来打开现有的 Excel 工作表了。下面是示例代码:
import java.io.FileInputStream;
import java.io.IOException;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
public class ExcelReader {
public static void main(String[] args) throws IOException {
String filePath = "path/to/excel/file.xlsx";
FileInputStream inputStream = new FileInputStream(filePath);
Workbook workbook = WorkbookFactory.create(inputStream);
inputStream.close();
}
}
在上面的代码中,我们首先指定了要打开的 Excel 文件的路径。然后,使用 FileInputStream
将文件读入到内存中。最后,使用 WorkbookFactory.create
方法从文件流中创建一个 Workbook
对象即可。
需要注意的是,WorkbookFactory.create
方法会根据文件的格式自动选择对应的工作簿对象。因此,我们不需要关心文件的格式是 .xls 还是 .xlsx。
通过上一步得到的 Workbook
对象,我们就可以轻松地获取其中的工作表了。下面是示例代码:
import java.io.FileInputStream;
import java.io.IOException;
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.ss.usermodel.WorkbookFactory;
public class ExcelReader {
public static void main(String[] args) throws IOException {
String filePath = "path/to/excel/file.xlsx";
FileInputStream inputStream = new FileInputStream(filePath);
Workbook workbook = WorkbookFactory.create(inputStream);
Sheet sheet = workbook.getSheetAt(0); // 获取第一个工作表
Row row = sheet.getRow(0); // 获取第一行
Cell cell = row.getCell(0); // 获取第一个单元格的内容
System.out.println(cell.getStringCellValue());
inputStream.close();
}
}
在上面的代码中,我们首先获取了工作簿中的第一个工作表,然后获取了第一行和第一个单元格的内容。最后,我们将该单元格的内容输出到了控制台上。
使用 Apache POI 库,在 Java 中打开现有 Excel 工作表非常简单。我们只需要引入相应的依赖,然后使用 WorkbookFactory.create
方法从文件流中创建一个 Workbook
对象即可。然后我们就可以使用 getSheetAt
、getRow
、getCell
等方法来获取工作表中的数据了。