
Excel在项目中的使用往往是读和写,一般来说excel中含有规律的数据,读取之后转化为对应的实体对象。在读取数据之前是需要制作相应的模板的,本篇文章主要讲述一下怎么生成只包含表头的Excel
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>3.3.3</version>
</dependency>public void genTitleExcel(HttpServletResponse response,String[] split){ //response 作为响应体,split作为excel中第一行数表头数据
try {
List<List<String>> head = new ArrayList<>();
for (int i = 0; i < split.length; i++) {
List<String> tmp = new ArrayList<>();
tmp.add(split[i]);
head.add(tmp);
}
//设置响应类型
response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding("utf-8");
//设置文件名并对其进行URL编码
String fileName = URLEncoder.encode("模板文件","UTF-8").replaceAll("\\+","%20");
response.setHeader("Content-Disposition","attachment;filename*=utf-8''"+fileName+".xlsx");
ExcelWriterBuilder write = EasyExcel.write(response.getOutputStream());
write.head(head).sheet("Sheet1").doWrite(new ArrayList<>());
} catch (IOException e) {
throw new RuntimeException(e);
}
}@PostMapping("/downloadDocTplExcel")
public R downloadDocTplExcel(HttpServletResponse response) {
try {
String[] split = new String[]{"列1", "列2", "列3"};
genTitleExcel(response,split);
}catch(Exception e){
throw new RuntimeException(e);
}
}
上述生成的excel不包含内容,只有一个表头,便于后续我们进行数据的插入和填充。
大功告成,撒花致谢🎆🎇🌟,关注我不迷路,带你起飞带你富。
Writted By 知识浅谈