Java导出Excel 第一列为序号

在Java开发中,有时候我们需要将一些数据导出到Excel文件中。而导出的Excel文件中,第一列通常是数据的序号,用来标识每一条数据的顺序。本文将介绍如何使用Java实现导出Excel文件,并保证第一列为序号。

准备工作

在开始编写Java代码之前,我们需要准备以下工具和环境:

  1. Java开发环境(JDK)
  2. Apache POI库:用于操作Excel文件
  3. Maven:用于管理项目依赖

确保以上工具和环境已经安装好,并配置好相关环境变量后,我们可以开始编写代码了。

代码示例

首先,我们需要创建一个Java项目,并配置好Maven依赖。在pom.xml文件中添加以下依赖项:

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

接下来,我们创建一个ExcelExporter类,用于导出Excel文件。

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

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

public class ExcelExporter {
    public static void main(String[] args) {
        // 创建工作簿
        Workbook workbook = new XSSFWorkbook();

        // 创建工作表
        Sheet sheet = workbook.createSheet("Sheet1");

        // 创建标题行
        Row headerRow = sheet.createRow(0);
        Cell headerCell = headerRow.createCell(0);
        headerCell.setCellValue("序号");

        // 填充数据
        for (int i = 1; i <= 10; i++) {
            Row dataRow = sheet.createRow(i);
            Cell dataCell = dataRow.createCell(0);
            dataCell.setCellValue(i);
        }

        // 调整列宽
        sheet.autoSizeColumn(0);

        // 保存文件
        try (FileOutputStream outputStream = new FileOutputStream("output.xlsx")) {
            workbook.write(outputStream);
        } catch (IOException e) {
            e.printStackTrace();
        }

        // 关闭工作簿
        try {
            workbook.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

以上代码中,我们创建了一个ExcelExporter类,其中的main方法用于导出Excel文件。

首先,我们创建了一个工作簿(Workbook)对象,这里使用的是XSSFWorkbook,它是POI库中用于操作xlsx格式的工作簿对象。

然后,我们创建了一个工作表(Sheet)对象,并命名为"Sheet1"。

接下来,我们创建了标题行(第一行),并设置了序号列的标题。

然后,我们使用循环填充了数据,从序号1到10,每个序号占据一行。

最后,我们调用autoSizeColumn方法调整第一列的列宽,保证序号显示完整。

最后,我们使用FileOutputStream将工作簿保存到文件中,并关闭工作簿。

流程图

以下是导出Excel文件的流程图:

flowchart TD
    A[开始] --> B[创建工作簿]
    B --> C[创建工作表]
    C --> D[创建标题行]
    C --> E[填充数据]
    E --> F[调整列宽]
    E --> G[保存文件]
    G --> H[关闭工作簿]
    H --> I[结束]

甘特图

以下是导出Excel文件的甘特图:

gantt
    dateFormat YYYY-MM-DD
    title 导出Excel文件甘特图
    section 创建工作簿
        创建工作簿任务 : 2022-01-01, 2d
    section 创建工作表
        创建工作表任务 : 2022-01-03, 1d
    section 创建标题行
        创建标题行任务 : 2022-01-04, 1d
    section 填充数据
        填充数据任务 : 2022-01-05, 5d
    section 调整列宽