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

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.lryc.cn/news/208279.html

相关文章:

  • FFmpeg编译安装(windows环境)以及在vs2022中调用
  • gRPC之gateway集成swagger
  • Pytorch从零开始实战07
  • 大数据知识扫盲
  • 使用Ubuntu虚拟机离线部署RKE2高可用集群
  • 记一次任意文件下载到Getshell
  • java异常处理
  • 递归为什么这么难?一篇文章带你了解递归
  • X86(32位)汇编指令与机器码转换原理
  • ES 全字段模糊检索时分词方式对检索结果的影响
  • 基于Python Django 的微博舆论、微博情感分析可视化系统(V2.0)
  • python读取Excel到mysql
  • C++八股文面经
  • 【Linux】静态库和共享库一分钟快速上手
  • C++继承总结(下)——菱形继承
  • CCF CCSP2023参赛记 + 算法题题解
  • buuctf_练[GYCTF2020]FlaskApp
  • 针对element-plus,跳转jump(快速翻页)
  • 【软件安装】Windows系统中使用miniserve搭建一个文件服务器
  • iOS .a类型静态库使用终端进行拆解和合并生成
  • react-组件间的通讯
  • 【广州华锐互动】VR公司工厂消防逃生演练带来沉浸式的互动体验
  • 可观察性支柱:探索日志、指标和跟踪
  • nginx浏览器缓存和上流缓存expires指令_nginx配置HTTPS
  • 硬件安全与机器学习的结合
  • 腾讯云国际-如何使用对象存储COS在 CKafka 控制台创建数据异步拉取任务?腾讯云代充
  • 内存马概念
  • 交换机基础(四):MSTP负载均衡配置案例
  • C# OpenCvSharp Yolov8 Face Landmarks 人脸特征检测
  • 计算机网络之数据链路层(全)