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

EasyExcel动态实现表头以及数据封装

EasyExcel动态实现表头以及数据封装

实现方法

  public void exportSelfRanking(HttpServletResponse response, ButtonStatisticsParam buttonStatisticsParam) throws IOException {//表头参数List<List<String>> titleList = queryButtonExportTitle();//数据List<List<String>> dataList = queryButtonExportData(buttonStatisticsParam, titleList);//导出response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");response.setCharacterEncoding("utf-8");// 这里URLEncoder.encode可以防止中文乱码String fileName = URLEncoder.encode("使用情况数据"+DateUtil.format(new Date(),"yyyyMMddHHmmssSSS"), "UTF-8").replaceAll("\\+", "%20");response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");EasyExcel.write(response.getOutputStream()).head(titleList).registerWriteHandler(new SimpleColumnWidthStyleStrategy(25)).sheet("功能意向使用情况").doWrite(dataList);}

注:buttonStatisticsParam为导出的检索条件,response为请求头参数
List<List> titleList 为封装的动态表头参数, List<List> dataList 为动态封装的数据参数,registerWriteHandler(new SimpleColumnWidthStyleStrategy(25)) 为设置表格参数,head(titleList) 为存放表头参数

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 树莓派开发笔记10-树莓派的HTTP通信实验
  • 移情别恋c++ ദ്ദി˶ー̀֊ー́ ) ——6.vector
  • 【YOLO5 项目实战】(6)YOLO5+StrongSORT 目标追踪
  • 再学C++(一):C++中类与结构体的区别
  • 【C++ Primer Plus习题】2.6
  • 模型优化之剪枝
  • libevent之android与鸿蒙编译过程
  • H3C M-LAG与双活网关接口结合应用场景实验
  • 数据结构-链表-第二天
  • elasticsearch的高亮查询三种模式查询及可能存在的问题
  • 数据结构----双向链表
  • linux笔记1
  • 删除 Docker 容器的日志文件
  • 线程通信【详解】
  • 使用DOM破坏启动xss
  • 【402天】跃迁之路——程序员高效学习方法论探索系列(实验阶段159-2018.03.14)...
  • Facebook AccountKit 接入的坑点
  • Java|序列化异常StreamCorruptedException的解决方法
  • javascript数组去重/查找/插入/删除
  • java中具有继承关系的类及其对象初始化顺序
  • js算法-归并排序(merge_sort)
  • markdown编辑器简评
  • Python socket服务器端、客户端传送信息
  • ⭐ Unity 开发bug —— 打包后shader失效或者bug (我这里用Shader做两张图片的合并发现了问题)
  • 更好理解的面向对象的Javascript 1 —— 动态类型和多态
  • 蓝海存储开关机注意事项总结
  • 力扣(LeetCode)357
  • 前端自动化解决方案
  • 如何实现 font-size 的响应式
  • 手写一个CommonJS打包工具(一)
  • 微信小程序开发问题汇总
  • 【运维趟坑回忆录 开篇】初入初创, 一脸懵
  • ​【原创】基于SSM的酒店预约管理系统(酒店管理系统毕业设计)
  • ​520就是要宠粉,你的心头书我买单
  • ### RabbitMQ五种工作模式:
  • #《AI中文版》V3 第 1 章 概述
  • #LLM入门|Prompt#1.7_文本拓展_Expanding
  • (27)4.8 习题课
  • (51单片机)第五章-A/D和D/A工作原理-A/D
  • (day 2)JavaScript学习笔记(基础之变量、常量和注释)
  • (附源码)springboot人体健康检测微信小程序 毕业设计 012142
  • (十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用
  • (四)stm32之通信协议
  • (转)IOS中获取各种文件的目录路径的方法
  • (转)winform之ListView
  • .“空心村”成因分析及解决对策122344
  • .bat批处理(五):遍历指定目录下资源文件并更新
  • .htaccess配置常用技巧
  • .Net - 类的介绍
  • .NET Core IdentityServer4实战-开篇介绍与规划
  • .NET Core SkiaSharp 替代 System.Drawing.Common 的一些用法
  • .Net Core 中间件验签
  • .NET Core日志内容详解,详解不同日志级别的区别和有关日志记录的实用工具和第三方库详解与示例
  • .NET MVC第三章、三种传值方式
  • .NET Standard / dotnet-core / net472 —— .NET 究竟应该如何大小写?