在 Java 中写入 Excel 数据有多种方式,下面将介绍使用两个流行的 Java 库来实现这个目标:Apache POI 和 jExcelApi。对于每种方式,我将提供详细的步骤流程、Maven 和 Gradle 的依赖坐标以及示例代码。
Apache POI 是一个用于操作 Microsoft Office 格式文件的 Java 库。以下是使用 Apache POI 库来写入 Excel 数据的步骤:
添加 Apache POI 的 Maven 依赖:
<!-- Apache POI -->
<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>
或者 Gradle 依赖:
// Apache POI
implementation 'org.apache.poi:poi:4.1.2' // 可能需要根据最新版本进行更改
implementation 'org.apache.poi:poi-ooxml:4.1.2' // 可能需要根据最新版本进行更改
创建一个新的 Excel 工作簿、工作表和单元格,然后写入数据:
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class ExcelWriterUsingPOI {
public static void main(String[] args) {
try (Workbook workbook = new XSSFWorkbook()) { // 创建一个XLSX格式的工作簿
Sheet sheet = workbook.createSheet("Sheet1"); // 创建一个工作表
Row headerRow = sheet.createRow(0); // 创建标题行
Cell headerCell = headerRow.createCell(0);
headerCell.setCellValue("列1");
Row dataRow = sheet.createRow(1); // 创建数据行
Cell dataCell = dataRow.createCell(0);
dataCell.setCellValue("数据1");
// 保存工作簿到文件或输出流
try (FileOutputStream fileOut = new FileOutputStream("output.xlsx")) {
workbook.write(fileOut);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
这个示例代码创建了一个包含一个标题列和一个数据列的 Excel 工作表,并将其保存为 output.xlsx 文件。
jExcelApi 是另一个用于处理 Excel 文件的 Java 库。以下是使用 jExcelApi 库来写入 Excel 数据的步骤:
添加 jExcelApi 的 Maven 依赖:
<!-- jExcelApi -->
<dependency>
<groupId>net.sourceforge.jexcelapi</groupId>
<artifactId>jxl</artifactId>
<version>2.6.12</version> <!-- 可能需要根据最新版本进行更改 -->
</dependency>
或者 Gradle 依赖:
// jExcelApi
implementation 'net.sourceforge.jexcelapi:jxl:2.6.12' // 可能需要根据最新版本进行更改
创建一个新的 Excel 工作簿、工作表和单元格,然后写入数据:
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import java.io.File;
public class ExcelWriterUsingJExcelApi {
public static void main(String[] args) {
try {
WritableWorkbook workbook = Workbook.createWorkbook(new File("output.xls")); // 创建一个XLS格式的工作簿
WritableSheet sheet = workbook.createSheet("Sheet1", 0); // 创建一个工作表
Label label = new Label(0, 0, "列1"); // 创建标题单元格
sheet.addCell(label);
label = new Label(0, 1, "数据1"); // 创建数据单元格
sheet.addCell(label);
workbook.write(); // 写入数据
workbook.close(); // 关闭工作簿
} catch (Exception e) {
e.printStackTrace();
}
}
}
这个示例代码创建了一个包含一个标题列和一个数据列的 Excel 工作表,并将其保存为 output.xls 文件。
这些是使用 Apache POI 和 jExcelApi 两种 Java 库来写入 Excel 数据的基本步骤。您可以根据具体需求进一步扩展和定制这些代码。请确保根据您的项目需求选择适当的库和依赖版本。