easyExcel填充并合并行
时间: 2023-07-11 19:04:26 浏览: 130
在 EasyExcel 中,可以使用 `fill()` 方法来填充单元格内容,使用 `merge()` 方法来合并行。下面是一个示例代码:
```java
// 创建工作簿
ExcelWriter writer = EasyExcel.write(filePath).build();
// 创建工作表
WriteSheet sheet = EasyExcel.writerSheet().build();
// 填充表头
List<String> head = Arrays.asList("姓名", "性别", "年龄", "学校");
sheet.head(head);
// 填充数据
List<Student> students = new ArrayList<>();
students.add(new Student("张三", "男", 18, "清华大学"));
students.add(new Student("李四", "女", 19, "北京大学"));
students.add(new Student("王五", "男", 20, "上海交通大学"));
// 遍历每个学生,填充行并合并
int rowIndex = 1; // 行号从第2行开始
for (Student student : students) {
// 填充姓名、性别、年龄、学校四列
List<String> rowData = Arrays.asList(student.getName(), student.getGender(), String.valueOf(student.getAge()), student.getSchool());
sheet.row(rowIndex).data(rowData);
// 合并前三列
sheet.merge(rowIndex, rowIndex, 0, 2);
rowIndex++;
}
// 写入数据并关闭工作簿
writer.write(students, sheet);
writer.finish();
```
在上面的示例代码中,我们首先创建了一个工作簿和工作表,并填充了表头。然后,我们遍历每个学生,填充行并合并前三列。最后,我们将数据写入工作簿并关闭它。
注意,`merge()` 方法的参数含义如下:
```
public WriteSheet merge(int firstRow, int lastRow, int firstCol, int lastCol)
```
其中,`firstRow` 和 `lastRow` 表示要合并的行范围,`firstCol` 和 `lastCol` 表示要合并的列范围。在上面的示例代码中,我们合并了第 `firstRow` 行到第 `lastRow` 行的前三列(即第0列到第2列)。
阅读全文