欢迎访问宙启技术站
智能推送

Java常用函数库实现:使用ApachePOI实现Excel读写操作

发布时间:2023-07-01 05:30:55

Apache POI是一个用Java编写的开源库,用于处理Microsoft Office格式的文件,最常用的是Excel文件。它提供了许多类和方法,使得我们可以轻松地读取和写入Excel文件。

首先,我们需要将Apache POI的库文件添加到我们的项目中。可以通过在Maven项目的POM文件中添加以下依赖来实现:

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>4.1.2</version>
</dependency>

读取Excel文件:

要读取一个Excel文件,我们首先需要创建一个Workbook对象并使用正确的文件路径或InputStream初始化它。然后,我们可以使用Workbook对象访问每个Sheet和每个单元格。

下面是一个读取Excel文件的示例代码:

import org.apache.poi.ss.usermodel.*;

import java.io.FileInputStream;
import java.io.IOException;

public class ExcelReader {
    public static void main(String[] args) {
        try {
            // 创建Workbook对象
            FileInputStream file = new FileInputStream("path/to/file.xlsx");
            Workbook workbook = WorkbookFactory.create(file);

            // 获取      个Sheet
            Sheet sheet = workbook.getSheetAt(0);

            // 遍历每一行
            for (Row row : sheet) {
                // 遍历每个单元格
                for (Cell cell : row) {
                    // 获取单元格的值
                    String value = cell.getStringCellValue();
                    System.out.print(value + "\t");
                }
                System.out.println();
            }

            // 关闭Workbook和输入流
            workbook.close();
            file.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

写入Excel文件:

要写入一个Excel文件,我们需要创建一个Workbook对象并使用正确的文件路径或OutputStream来初始化它。然后,我们可以创建一个Sheet和行对象,并使用行对象来设置每个单元格的值。

下面是一个写入Excel文件的示例代码:

import org.apache.poi.ss.usermodel.*;

import java.io.FileOutputStream;
import java.io.IOException;

public class ExcelWriter {
    public static void main(String[] args) {
        try {
            // 创建Workbook对象
            Workbook workbook = new XSSFWorkbook();

            // 创建Sheet对象
            Sheet sheet = workbook.createSheet("Sheet1");

            // 创建行对象
            Row row = sheet.createRow(0);

            // 创建单元格对象并设置值
            Cell cell1 = row.createCell(0);
            cell1.setCellValue("Hello");

            Cell cell2 = row.createCell(1);
            cell2.setCellValue("World");

            // 创建文件输出流
            FileOutputStream file = new FileOutputStream("path/to/file.xlsx");

            // 将Workbook写入文件
            workbook.write(file);

            // 关闭Workbook和输出流
            workbook.close();
            file.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

这只是Apache POI的一小部分功能,它还提供了许多其他功能,例如在单元格中设置样式、合并单元格、设置公式等。您可以查看Apache POI的官方文档以获取更多详细信息。

使用Apache POI可以轻松地进行Excel文件的读取和写入操作,非常方便实用。无论是处理大型数据集还是创建报表,Apache POI都是一个非常有用的工具。