Java POI库操作Excel:读取与处理示例

需积分: 1 0 下载量 66 浏览量 更新于2024-08-03 收藏 3KB TXT 举报
"Apache POI 是一个用于处理 Microsoft Office 文件的 Java 库,特别适用于 Excel 文档的读写。它支持两种 Excel 文件格式,即 .xls 和 .xlsx,且能处理复杂的元素,如图表和公式。为了在 Java 项目中使用 POI,需要添加对应的 Maven 依赖。以下是一个简单的示例代码,演示了如何使用 POI 读取 Excel 文件中的数据。" Apache POI 是 Apache 软件基金会的一个开源项目,提供了 Java 开发者处理 Microsoft Office 文件格式的能力,包括 Word、PowerPoint 和尤其重要的 Excel。在这个场景中,我们关注的是如何利用 POI 操作 Excel 文件。 首先,要将 POI 库引入到 Java 项目中,通常是在 Maven 的 `pom.xml` 文件中添加如下依赖: ```xml <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>4.1.2</version> </dependency> ``` 这里的版本号 `4.1.2` 是截至本文撰写时的最新稳定版本,你可以根据实际情况选择合适版本。 接着,我们可以编写 Java 代码来读取 Excel 文件。以下是一个简单的示例,展示了如何读取 Excel 文件的第一个工作表中的数据: ```java import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io.File; import java.io.FileInputStream; import java.io.IOException; public class ExcelReader { public static void main(String[] args) { String excelFilePath = "path/to/excel/file.xlsx"; FileInputStream inputStream = null; Workbook workbook = null; Sheet sheet = null; Row row = null; Cell cell = null; try { inputStream = new FileInputStream(new File(excelFilePath)); workbook = new XSSFWorkbook(inputStream); sheet = workbook.getSheetAt(0); // 读取第一个工作表 for (row = sheet.getRow(0); row != null; row = row.getNextRow()) { // 逐行读取 for (cell = row.getFirstCell(); cell != null; cell = cell.getNextCell()) { // 逐列读取 switch (cell.getCellType()) { // 根据单元格类型获取单元格值 case STRING: System.out.print(cell.getStringCellValue() + "\t"); break; case NUMERIC: System.out.print(cell.getNumericCellValue() + "\t"); break; case BOOLEAN: System.out.print(cell.getBooleanCellValue() + "\t"); break; // 添加对其他类型的处理,如 DATE, FORMULA 等 } } System.out.println(); // 在每行结束时换行 } } catch (IOException e) { e.printStackTrace(); } finally { if (inputStream != null) { try { inputStream.close(); } catch (IOException e) { e.printStackTrace(); } } if (workbook != null) { try { workbook.close(); } catch (IOException e) { e.printStackTrace(); } } } } } ``` 这段代码首先创建了一个 `FileInputStream` 来打开指定路径的 Excel 文件,然后通过 `XSSFWorkbook` 类实例化一个工作簿对象。接下来,获取工作簿的第一个工作表,并使用双重循环遍历所有行和列。通过 `getCellType()` 方法判断单元格类型,然后调用相应的 `getStringCellValue()`, `getNumericCellValue()`, 或 `getBooleanCellValue()` 获取单元格的值。读取完成后,记得关闭输入流和工作簿以释放资源。 这只是使用 POI 库的基本操作,实际上,POI 还提供了许多其他高级功能,例如创建、修改工作表,设置样式、公式,处理图表等。开发者可以根据实际需求,查阅 POI 的官方文档,深入了解和运用这些功能。