Hutool Java 工具類庫導(dǎo)出 Excel,2步搞定!
前言
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.0.7</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.1</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId>
<version>3.17</version>
</dependency>@RequestMapping("/export")
@ResponseBody
public void export(HttpServletResponse response){
List<User> list = new ArrayList<>();
list.add(new User("zhangsan","1231",new Date()));
list.add(new User("zhangsan1","1232",new Date()));
list.add(new User("zhangsan2","1233",new Date()));
list.add(new User("zhangsan3","1234",new Date()));
list.add(new User("zhangsan4","1235",new Date()));
list.add(new User("zhangsan5","1236", DateUtil.date(new Date())));
// 通過工具類創(chuàng)建writer,默認(rèn)創(chuàng)建xls格式
ExcelWriter writer = ExcelUtil.getWriter();
//自定義標(biāo)題別名
writer.addHeaderAlias("name", "姓名");
writer.addHeaderAlias("age", "年齡");
writer.addHeaderAlias("birthDay", "生日");
// 合并單元格后的標(biāo)題行,使用默認(rèn)標(biāo)題樣式
writer.merge(2, "申請(qǐng)人員信息");
// 一次性寫出內(nèi)容,使用默認(rèn)樣式,強(qiáng)制輸出標(biāo)題
writer.write(list, true);
//out為OutputStream,需要寫出到的目標(biāo)流
//response為HttpServletResponse對(duì)象
response.setContentType("application/vnd.ms-excel;charset=utf-8");
//test.xls是彈出下載對(duì)話框的文件名,不能為中文,中文請(qǐng)自行編碼
String name = StringUtils.toUtf8String("申請(qǐng)學(xué)院");
response.setHeader("Content-Disposition","attachment;filename="+name+".xls");
ServletOutputStream out= null;
try {
out = response.getOutputStream();
writer.flush(out, true);
}
catch (IOException e) {
e.printStackTrace();
}
finally {
// 關(guān)閉writer,釋放內(nèi)存
writer.close();
}
//此處記得關(guān)閉輸出Servlet流
IoUtil.close(out);
}
來源:https://urlify.cn/iu26vy
分享一下我寫的《10萬字Springboot經(jīng)典學(xué)習(xí)筆記》中,點(diǎn)擊下面小卡片,進(jìn)入【Java禿頭哥】,回復(fù):筆記,即可免費(fèi)獲取。
點(diǎn)贊是最大的支持
評(píng)論
圖片
表情

