📜  POI Excel-编程示例(1)

📅  最后修改于: 2023-12-03 15:18:36.894000             🧑  作者: Mango

POI Excel 编程示例

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 文件。

读取 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();
}
写入 Excel 文件

我们可以使用 XSSFWorkbookXSSFSheetXSSFRow 等类来写入 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 文件,可以参考该库中相关的类和方法。