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 可成功解决,可参考

参考

相关推荐
u0103055272 天前
AI驱动的安卓UI自动生成功能实现
人工智能·1024程序员节
u0103055273 天前
长株潭智能体赋能腾讯元器链接共享
1024程序员节
云贝贝贝4 天前
OceanBase认证体系介绍与备考指南
运维·服务器·oceanbase·1024程序员节
u0103055274 天前
Java图像处理实战指南
人工智能·1024程序员节
u0103055275 天前
Java AWT鼠标事件全解析
人工智能·1024程序员节
u0103055277 天前
Java实用类应用精讲
人工智能·1024程序员节
u0103055277 天前
Java I/O核心操作实战
人工智能·1024程序员节
u0103055278 天前
ArrayList操作详解与实战应用
人工智能·1024程序员节
u0103055279 天前
Java模块化编程实战指南
人工智能·笔记·1024程序员节
u01030552710 天前
使用BufferedReader读取控制台输入
人工智能·1024程序员节