Java+easypoi 简单模板导出
1.新建一个springboot项目
2.pom.xml
<!--EasyPoi-->
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-base</artifactId>
<version>4.1.0</version>
<exclusions>
<exclusion>
<artifactId>guava</artifactId>
<groupId>com.google.guava</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-web</artifactId>
<version>4.1.0</version> </dependency>
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-annotation</artifactId>
<version>4.1.0</version>
</dependency>
3.新建需要导出的实体类
import lombok.Data;
/**
*
*/
@Data
public class Student {
private String id;
private String name;
}
4.新建一个studentList.xls表格模板
5.将模板放入项目中,放在目录 template/ 下
6.新建controller
@RestController
public class ProviderController {
@PostMapping("/exportToExcel")
public void exportToExcel(HttpServletResponse response) {
List<Student> list =new ArrayList<>();
Student student=new Student();
Student student2=new Student();
student.setId("1001");
student.setName("狄欧苏");
student2.setId("1002");
student2.setName("酸豆角了");
list.add(student);
list.add(student2);
String TemplateName="studentList";
TemplateExportParams templateExportParams = new TemplateExportParams("template/"+TemplateName+".xls");
Map<String, Object> map = new HashMap<>(8);
map.put("list", list);
Workbook workbook = ExcelExportUtil.exportExcel(templateExportParams, map);
// 设置请求头
response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding("utf-8");
String fileName = TemplateName+System.currentTimeMillis()+".xlsx";
response.setHeader("Content-disposition", "attachment;filename=" + fileName );
try (ServletOutputStream outputStream = response.getOutputStream()){
workbook.write(outputStream);
} catch (IOException e) {
log.warn("导出失败: {}", e.getMessage());
}
}
}
7.运行项目
8.使用postman发送post请求
9.导出成功