📅  最后修改于: 2023-12-03 15:18:36.894000             🧑  作者: Mango
Apache POI 是一个开源的 Java 库,它可以帮助程序员在 Java 应用程序中创建和修改 Microsoft Office 格式的文档,比如 Word、Excel 和 PowerPoint 等。在本篇文章中,我们将介绍如何使用 Apache POI 库来编写操作 Excel 文件的示例程序。
在使用 Apache POI 之前,我们需要先下载并安装该库。我们可以从官网 (https://poi.apache.org/) 下载最新版本的 Apache POI。下载完成后,我们将得到一个名为 poi-bin-{version}
的压缩文件。
$ wget https://mirror.bit.edu.cn/apache/poi/release/bin/poi-bin-{version}.zip
$ unzip poi-bin-{version}.zip
解压后,我们会看到 poi-{version}
目录,其中包含了所有需要的 jar 包。我们可以将这些 jar 包添加到我们的项目中。
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>{version}</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>{version}</version>
</dependency>
接下来,我们将演示如何使用 Apache POI 库来读取、写入 Excel 文件。
我们可以使用 XSSFWorkbook
类来读取 Excel 文件。以下示例演示了如何打开一个 Excel 文件,并读取其中的数据。
try (FileInputStream fis = new FileInputStream("example.xlsx")) {
XSSFWorkbook workbook = new XSSFWorkbook(fis);
XSSFSheet sheet = workbook.getSheetAt(0);
for (Row row : sheet) {
for (Cell cell : row) {
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;
default:
System.out.print("\t");
}
}
System.out.println();
}
} catch (IOException e) {
e.printStackTrace();
}
我们可以使用 XSSFWorkbook
、XSSFSheet
和 XSSFRow
等类来写入 Excel 文件。以下示例演示了如何创建一个新的 Excel 文件,并将数据写入其中。
try (FileOutputStream fos = new FileOutputStream("example.xlsx")) {
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet = workbook.createSheet("Sheet1");
Object[][] bookData = {
{"Head First Java", "Kathy Sierra", 79},
{"Effective Java", "Joshua Bloch", 36},
{"Clean Code", "Robert C. Martin", 42},
{"Thinking in Java", "Bruce Eckel", 35},
};
int rowIndex = 0;
for (Object[] rowData : bookData) {
Row row = sheet.createRow(rowIndex++);
int columnIndex = 0;
for (Object field : rowData) {
Cell cell = row.createCell(columnIndex++);
if (field instanceof String) {
cell.setCellValue((String) field);
} else if (field instanceof Integer) {
cell.setCellValue((Integer) field);
}
}
}
workbook.write(fos);
} catch (IOException e) {
e.printStackTrace();
}
Apache POI 是一个非常强大的 Java 库,它可以帮助我们在 Java 应用程序中创建和修改 Microsoft Office 格式的文档。本篇文章演示了如何使用 Apache POI 库来读取、写入 Excel 文件。如果您需要操作其他类型的 Office 文件,可以参考该库中相关的类和方法。