当前位置: 首页 > article >正文

Java IDEA controller导出CSV,excel

Java IDEA controller导出CSV,excel

    • 导出excel/csv,亲测可共用一个方法,代码逻辑里判断设置不同的表头及contentType;
      • 导出excel
      • 导出csv
    • 优化:有数据时才可以导出
    • 参考

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

导出excel

eg:xls

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

在这里插入图片描述

导出csv

eg:csv

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

参考

  • https://blog.csdn.net/missingshirely/article/details/132339295
  • https://blog.csdn.net/weixin_56567361/article/details/126640185

http://www.kler.cn/a/107847.html

相关文章:

  • 封装一个省市区的筛选组件
  • UDP协议和TCP协议之间有什么具体区别?
  • 深入探讨 MySQL 配置与优化:从零到生产环境的最佳实践20241112
  • vue项目npm run serve出现【- Network: unavailable】(从排查到放弃)
  • 无人机动力测试台如何快速外接第三方传感器
  • 出海攻略,如何一键保存Facebook视频素材
  • 07-定位布局
  • Nginx的进程结构实例演示
  • RK3568平台 IIC子系统框架
  • Mybatis基础
  • C语言之错误处理
  • 前端CodeReivew实践 | 京东云技术团队
  • lesson2(补充)关于const成员函数
  • IP网络矿用打点紧急广播方案
  • 业界中说的快速原型法是什么
  • 如何使用PHPicker在iOS系统无授权下获取资源
  • 从澎湃OS以小见大,看小米怎么玩转车机
  • #经典论文 异质山坡的物理模型 2 有效导水率
  • Unity3D 多人联机网络游戏开发都存在哪些误区详解
  • 【mediasoup-sfu-cpp】5: SfuDemo:分发ok
  • 自然语言处理 (NLP) 简介
  • SpringBoot使用WebSocket收发实时离线消息
  • 【理论知识:Window Aggregation】flink 窗口聚合功能概述:两种窗口聚合模式的使用例子、功能说明
  • 【Codeforces】 CF582D Number of Binominal Coefficients
  • 浅谈 MySQL 主从复制,优点?原理?
  • Spring Security漏洞防护—HttpFirewall和 HTTPS