springboot 使用easyexcel导出带资增序号列
时间: 2023-10-24 11:57:31 浏览: 444
在使用EasyExcel导出Excel时,你可以通过添加一个序号列来实现自增的编号。下面是一个示例,演示如何在导出Excel时添加自增的序号列:
```java
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.write.builder.ExcelWriterBuilder;
import com.alibaba.excel.write.builder.ExcelWriterSheetBuilder;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
@Controller
public class ExcelController {
@GetMapping("/export")
public void exportExcel(HttpServletResponse response) throws IOException {
// 创建数据列表
List<User> userList = new ArrayList<>();
userList.add(new User("张三", 20));
userList.add(new User("李四", 25));
userList.add(new User("王五", 30));
// 添加序号列
List<UserWithIndex> userListWithIndex = new ArrayList<>();
for (int i = 0; i < userList.size(); i++) {
User user = userList.get(i);
UserWithIndex userWithIndex = new UserWithIndex(i + 1, user.getName(), user.getAge());
userListWithIndex.add(userWithIndex);
}
// 设置响应头
response.setHeader("Content-Disposition", "attachment; filename=example.xlsx");
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
// 创建Excel写入器
ExcelWriterBuilder writerBuilder = EasyExcel.write(response.getOutputStream(), UserWithIndex.class);
// 创建工作表
ExcelWriterSheetBuilder sheetBuilder = writerBuilder.sheet("Sheet1");
// 写入数据
sheetBuilder.doWrite(userListWithIndex);
// 关闭写入器
writerBuilder.finish();
}
// 定义用户实体类
public static class User {
private String name;
private int age;
// 省略构造函数、getter和setter
}
// 带序号的用户实体类
public static class UserWithIndex {
private int index;
private String name;
private int age;
public UserWithIndex(int index, String name, int age) {
this.index = index;
this.name = name;
this.age = age;
}
// 省略getter和setter
}
}
```
在上述代码中,我们创建了一个新的 `UserWithIndex` 类,它包含了一个 `index` 属性来表示序号。在导出Excel之前,我们将原始数据列表转换为带序号的数据列表,并将其用于写入Excel。
确保在项目的依赖中包含了EasyExcel库的相关依赖项。运行该代码后,你将会得到一个带有自增序号列的Excel文件。
阅读全文