Java导出工具类

简介

在Java开发中,有时候需要将数据导出为文件,比如将数据库中的数据导出为Excel文件,或者将集合中的数据导出为CSV文件。为了实现这些功能,我们可以使用Java导出工具类。

Java导出工具类是一个通用的工具类,提供了导出数据到不同格式文件的功能。它可以将数据导出为Excel、CSV、PDF等文件格式,方便用户进行数据的导出和分享。

在本文中,我们将介绍如何使用Java导出工具类,并提供相应的代码示例。

导出Excel文件

首先,我们将介绍如何使用Java导出工具类来导出Excel文件。

导出Excel文件的步骤

  1. 创建一个工作簿对象,用于存储Excel文件的内容。
  2. 创建一个工作表对象,用于存储Excel文件中的一个表格。
  3. 创建行对象和单元格对象,用于存储Excel文件中的数据。
  4. 将数据写入单元格对象。
  5. 将行对象添加到工作表对象中。
  6. 将工作表对象添加到工作簿对象中。
  7. 将工作簿对象写入Excel文件中。

代码示例

首先,我们需要添加POI库的依赖。在Maven项目中,可以在pom.xml文件中添加以下依赖:

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

然后,我们可以创建一个Excel导出工具类ExcelExportUtil,提供一个静态方法export用于导出Excel文件。

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

import java.io.FileOutputStream;
import java.io.IOException;
import java.util.List;

public class ExcelExportUtil {
    public static void export(List<List<String>> data, String fileName) throws IOException {
        Workbook workbook = new XSSFWorkbook();
        Sheet sheet = workbook.createSheet();

        int rowNum = 0;
        for (List<String> row : data) {
            Row excelRow = sheet.createRow(rowNum++);
            int cellNum = 0;
            for (String value : row) {
                Cell cell = excelRow.createCell(cellNum++);
                cell.setCellValue(value);
            }
        }

        try (FileOutputStream outputStream = new FileOutputStream(fileName)) {
            workbook.write(outputStream);
        }
    }
}

在上述代码中,我们使用了Apache POI库来操作Excel文件。首先,我们创建了一个工作簿对象workbook,然后创建了一个工作表对象sheet。接下来,我们逐行遍历数据,创建行对象excelRow,然后逐个单元格创建单元格对象cell,并将数据写入单元格对象。最后,我们将工作簿对象写入Excel文件中。

使用该工具类导出Excel文件的示例代码如下:

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

public class Main {
    public static void main(String[] args) {
        List<List<String>> data = new ArrayList<>();
        List<String> row1 = new ArrayList<>();
        row1.add("Name");
        row1.add("Age");
        row1.add("Gender");
        data.add(row1);

        List<String> row2 = new ArrayList<>();
        row2.add("John");
        row2.add("25");
        row2.add("Male");
        data.add(row2);

        List<String> row3 = new ArrayList<>();
        row3.add("Lisa");
        row3.add("30");
        row3.add("Female");
        data.add(row3);

        try {
            ExcelExportUtil.export(data, "data.xlsx");
            System.out.println("Excel file exported successfully.");
        } catch (IOException e) {
            System.out.println("Failed to export Excel file: " + e.getMessage());
        }
    }
}

在上述代码中,我们创建了一个包含表头和数据的二维列表data,然后调用ExcelExportUtil.export方法导出Excel文件。

导出CSV文件

除了导出Excel文件,我们还可以使用Java导出工具类来导出CSV文件。

导出CSV文件的步骤

  1. 创建一个文件写入器对象,用于写入CSV