在 Java 中生成 Excel 文件并写入数据,有多种方式可以实现。以下是几种常见的实现方式,包括使用 Apache POI 库、JExcelApi 库和 EasyExcel 库。我将为每种方式提供详细的步骤流程以及相关的依赖坐标和示例代码。
Apache POI 是一个用于操作 Microsoft Office 格式文件的开源 Java 库,它支持生成和编辑 Excel 文件。下面是使用 Apache POI 生成 Excel 文件并写入数据的步骤:
添加依赖:
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>5.0.0</version>
</dependency>
implementation 'org.apache.poi:poi:5.0.0'
创建工作簿(Workbook)和工作表(Sheet)对象。
创建行(Row)对象。
创建单元格(Cell)对象,并将数据写入单元格。
将行添加到工作表。
将工作表保存到文件。
import org.apache.poi.ss.usermodel.*;
import java.io.FileOutputStream;
import java.io.IOException;
public class ApachePOIExample {
public static void main(String[] args) throws IOException {
// 创建工作簿
Workbook workbook = new XSSFWorkbook();
// 创建工作表
Sheet sheet = workbook.createSheet("Sheet1");
// 创建行
Row row = sheet.createRow(0);
// 创建单元格并写入数据
Cell cell = row.createCell(0);
cell.setCellValue("Hello, Excel!");
// 保存工作簿到文件
try (FileOutputStream fileOut = new FileOutputStream("workbook.xlsx")) {
workbook.write(fileOut);
}
// 关闭工作簿
workbook.close();
}
}
JExcelApi 是另一个用于操作 Excel 文件的 Java 库,它也支持生成和编辑 Excel 文件。以下是使用 JExcelApi 生成 Excel 文件并写入数据的步骤:
添加依赖:
<dependency>
<groupId>net.sourceforge.jexcelapi</groupId>
<artifactId>jxl</artifactId>
<version>2.6.12</version>
</dependency>
implementation 'net.sourceforge.jexcelapi:jxl:2.6.12'
创建工作簿(Workbook)对象。
创建工作表(WritableSheet)对象。
创建单元格(Label)对象,并将数据写入单元格。
将单元格添加到工作表。
将工作簿保存到文件。
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import java.io.File;
import java.io.IOException;
public class JExcelApiExample {
public static void main(String[] args) throws IOException {
// 创建工作簿
WritableWorkbook workbook = Workbook.createWorkbook(new File("workbook.xls"));
// 创建工作表
WritableSheet sheet = workbook.createSheet("Sheet1", 0);
// 创建单元格并写入数据
Label label = new Label(0, 0, "Hello, Excel!");
sheet.addCell(label);
// 保存工作簿到文件
workbook.write();
workbook.close();
}
}
EasyExcel 是一个基于注解和模型驱动的 Java 库,用于快速操作 Excel 文件。以下是使用 EasyExcel 生成 Excel 文件并写入数据的步骤:
添加依赖:
<dependency>
<groupId>com.alibaba.easyexcel</groupId>
<artifactId>easyexcel</artifactId>
<version>2.5.2</version>
</dependency>
implementation 'com.alibaba.easyexcel:easyexcel:2.5.2'
创建数据模型类。
使用 EasyExcel 提供的 API 写入数据到 Excel 文件。
import com.alibaba.excel.EasyExcel;
import java.util.ArrayList;
import java.util.List;
public class EasyExcelExample {
public static void main(String[] args) {
String fileName = "workbook.xlsx";
// 创建数据列表
List<ExcelData> data = new ArrayList<>();
data.add(new ExcelData("Hello, Excel!"));
// 写入数据到Excel文件
EasyExcel.write(fileName, ExcelData.class).sheet("Sheet1").doWrite(data);
}
public static class ExcelData {
private String content;
public ExcelData(String content) {
this.content = content;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
}
}
通过上述三种方式,你可以在 Java 中生成 Excel 文件并写入数据。选择合适的方式取决于你的需求和项目要求。不同的库提供了不同的特性和灵活性,可以根据自己的需求选择最适合的方式。