使用 Java POI 向 Excel 插入新数据的完整流程

在现代的应用程序中,处理 Excel 文件已成为一个重要的任务。Java 提供了 Apache POI 这个库,使得我们可以轻松地读写 Excel 文件。本篇文章将带你一步步实现如何使用 Java POI 向 Excel 文件中插入新数据。

整体流程

在我们开始之前,让我们先概览一下整个流程。以下是插入新数据的步骤:

步骤 描述
1 添加 Apache POI 依赖
2 创建 Excel 文件或打开现有文件
3 插入新数据
4 保存文件
5 关闭工作簿

详细步骤

第一步:添加 Apache POI 依赖

首先,你需要在你的项目中引入 Apache POI 依赖。如果你使用 Maven 可以在 pom.xml 中添加以下依赖:

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>5.2.3</version>
</dependency>
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>5.2.3</version>
</dependency>

这两行代码引入了 Apache POI 库及其处理 XLSX 格式的相关模块。确保使用最新的版本。

第二步:创建 Excel 文件或打开现有文件

接下来,你可以选择创建一个新的 Excel 文件或者打开一个已存在的文件。下面的代码演示了如何打开一个已存在的 Excel 文件:

import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

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

public class ExcelExample {
    public static void main(String[] args) {
        // 文件路径
        String filePath = "example.xlsx";

        try {
            // 打开 Excel 文件
            FileInputStream fis = new FileInputStream(filePath);
            XSSFWorkbook workbook = new XSSFWorkbook(fis);
            // 获取第一个 Sheet
            XSSFSheet sheet = workbook.getSheetAt(0);
            
            // 添加数据的代码将放在这里
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

在这段代码中,我们首先从指定路径打开一个 Excel 文件,并获取第一个工作表(Sheet)。

第三步:插入新数据

一旦获取了 Sheet,我们可以开始插入数据。以下代码展示了如何在 Sheet 的指定行插入新数据:

            // 在第2行插入新数据
            int rowCount = sheet.getPhysicalNumberOfRows();
            // 创建新行
            Row newRow = sheet.createRow(rowCount);
            
            // 在新行中添加数据
            newRow.createCell(0).setCellValue("新数据1");
            newRow.createCell(1).setCellValue("新数据2");
            newRow.createCell(2).setCellValue("新数据3");

这部分代码通过 createRow() 方法创建一新行,并通过 createCell()setCellValue() 方法为单元格设置值。

第四步:保存文件

插入数据后,需要保存对 Excel 文件的更改。你可以使用以下代码完成此操作:

            // 保存更新后的文件
            FileOutputStream fos = new FileOutputStream(filePath);
            workbook.write(fos);

            // 关闭流
            fos.close();
            workbook.close();

这里我们使用 FileOutputStream 将更改写回到文件中,确保流在完成后被关闭以释放资源。

第五步:关闭工作簿

最后,确保在完成操作后关闭 workbook 和其他流。这有助于避免内存泄漏和文件锁定等问题。

饼状图示例

在 Excel 中插入新数据后,你可能还希望对数据进行可视化。以下是一个简单的饼状图展示示例,用 Mermaid 语法表示:

pie
    title 数据分布
    "新数据1": 30
    "新数据2": 20
    "新数据3": 50

这个饼状图反映了插入的数据在整个数据集中的比例,你可以根据实际情况修改数据。

总结

本文介绍了如何使用 Java POI 向 Excel 文件中插入新数据的完整流程。从添加依赖、打开文件、插入数据到保存和关闭文件,希望这些代码和步骤能帮助你顺利入门。通过不断的练习,你将能够在实际项目中熟练运用这些技能。祝你学习顺利!