Java IDEA controller导出CSV,excel

Java IDEA controller导出CSV,excel

导出excel/csv,亲测可共用一个方法,代码逻辑里判断设置不同的表头及contentType;

导出excel

eg:xls

java 复制代码
		response.setContentType("application/vnd.ms-excel");
		response.setHeader("Content-Disposition", "attachment;fileName=" + URLEncoder.encode("导出表.xlsx", "utf-8"));

导出csv

eg:csv

java 复制代码
		response.setContentType("application/csv");
		response.setHeader("content-disposition", "attachment; filename=" + URLEncoder.encode("export.csv",   "UTF-8"));
		ServletOutputStream out = response.getOutputStream();
		out.write(new byte[]{(byte) 0xEF, (byte) 0xBB, (byte) 0xBF});
		out.write(st.toString.getBytes("UTF-8"));

优化:有数据时才可以导出

当没有数据时提示无法导出,因此返回提示信息,ResponseMessage

在有数据可以正常到导出时可能会报错:Cannot call sendError() after the response has been committed。

在最后返回null 可成功解决,可参考

参考

相关推荐
网安_秋刀鱼21 小时前
【java安全】shiro反序列化1(shiro550)
java·开发语言·安全·web安全·网络安全·1024程序员节
unable code3 天前
攻防世界-Misc-Wire1
网络安全·ctf·misc·1024程序员节
开开心心就好3 天前
版本转换工具,支持Win双系统零售批量版
linux·运维·服务器·pdf·散列表·零售·1024程序员节
开开心心就好4 天前
免费卸载工具,可清理残留批量管理启动项
linux·运维·服务器·windows·随机森林·pdf·1024程序员节
unable code4 天前
攻防世界-Misc-4-1
网络安全·ctf·misc·1024程序员节
yBmZlQzJ6 天前
免费内网穿透-端口转发配置介绍
运维·经验分享·docker·容器·1024程序员节
金融小师妹7 天前
AI算法视角下非农夜冲击波来袭,黄金高位区间震荡态势的深度神经网络解析
大数据·深度学习·1024程序员节
全栈小59 天前
【数据库】浙人医携手金仓数据库,打造全国首个多院区异构多活容灾架构
数据库·1024程序员节·金仓
CoderYanger11 天前
贪心算法:7.最长连续递增序列
java·算法·leetcode·贪心算法·1024程序员节
CoderYanger11 天前
贪心算法:6.递增的三元子序列
java·算法·leetcode·贪心算法·1024程序员节