Spring Boot 集成 EasyExcel 3.x
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.write.metadata.WriteSheet;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.List;
@RestController
public class ExcelController {
@GetMapping("/download")
public void downloadExcel(HttpServletResponse response) {
// 设置响应头
response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding("utf-8");
String fileName = "file";
response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
// 创建写入工作簿
List<Data> dataList = new ArrayList<>();
dataList.add(new Data("A1", 1));
dataList.add(new Data("A2", 2));
// 更多数据填充到dataList...
// 写入到输出流
try {
EasyExcel.write(response.getOutputStream(), Data.class)
.sheet("Sheet1")
.doWrite(dataList);
} catch (Exception e) {
e.printStackTrace();
}
}
public static class Data {
private String name;
private Integer age;
// 构造器、getters和setters省略...
}
}
这段代码演示了如何在Spring Boot应用中使用EasyExcel库创建并下载一个简单的Excel文件。它定义了一个控制器ExcelController
,其中包含一个处理文件下载的方法downloadExcel
。这个方法设置响应头以指示浏览器下载文件,并使用EasyExcel库将数据写入输出流,最终提供给用户下载。这个例子中的Data
类用于表示Excel中的数据,并且包含对应的属性和构造器。
评论已关闭