首页 > 其他分享 >jeecgboot 自定义导出字段

jeecgboot 自定义导出字段

时间:2023-09-09 10:55:42浏览次数:41  
标签:NormalExcelConstants return String 自定义 导出 request mv jeecgboot

实体类

@Data
public class Cost implements Serializable {

    /**主键*/
    @ApiModelProperty(value = "主键")
    private String id;

    /**日期*/
    @Excel(name = "日期", format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "日期")
    private Date time;

  /**成本*/ @Excel(name = "成本") @ApiModelProperty(value = "成本") private String totalCost; }

导出方法

@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, Cost cost) {
   // 导出的字段
   String[] exportFields = {"time"};
   return this.exportXls(request, cost, Cost.class, "成本管理表", exportFields);
}

导出Excel方法

/**
      * 导出excel
      *
      * @param request
      */
     protected ModelAndView exportXls(HttpServletRequest request, Cost object, Class<Cost> clazz, String title, String[] exportFields) {
         // Step.1 组装查询条件
         QueryWrapper<Cost> queryWrapper = QueryGenerator.initQueryWrapper(object, request.getParameterMap());
         LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();

         // Step.2 获取导出数据
         List<Cost> pageList = costService.list(queryWrapper);
         List<Cost> exportList = null;

         // 过滤选中数据
         String selections = request.getParameter("selections");
         if (oConvertUtils.isNotEmpty(selections)) {
             List<String> selectionList = Arrays.asList(selections.split(","));
             exportList = pageList.stream().filter(item -> selectionList.contains(getId(item))).collect(Collectors.toList());
         } else {
             exportList = pageList;
         }

         // Step.3 AutoPoi 导出Excel
         ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
         mv.addObject(NormalExcelConstants.FILE_NAME, title); //此处设置的filename无效 ,前端会重更新设置一下
         mv.addObject(NormalExcelConstants.CLASS, clazz);
         mv.addObject(NormalExcelConstants.PARAMS, new ExportParams(title + "报表", "导出人:" + sysUser.getRealname(), title));
         mv.addObject(NormalExcelConstants.DATA_LIST, exportList);
         // 导出的字段
         mv.addObject(NormalExcelConstants.EXPORT_FIELDS, StringUtils.join(exportFields, ","));
         return mv;
     }

     /**
      * 获取对象ID
      *
      * @return
      */
     private String getId(Cost item) {
         try {
             return PropertyUtils.getProperty(item, "id").toString();
         } catch (Exception e) {
             e.printStackTrace();
             return null;
         }
     }

 

标签:NormalExcelConstants,return,String,自定义,导出,request,mv,jeecgboot
From: https://www.cnblogs.com/xufeng-moxuan/p/17689032.html

相关文章

  • AD中导出设置好的快捷键
    AD中导出设置好的快捷键 找个路径保存好就可以了。导入也是一样。点击Load 选择保存好的路径就可以了。 ......
  • idea自定义TODO接口
    设置搜索TODO取消默认勾选的颜色选择自定义的颜色......
  • 表单引擎的自定义控件的概念与设计
    基本概念概述控件的定义:用于展示或者采集数据的表单元素,称为控件,比如:文本框、下拉框、单选按钮、从表等.自定义控件:表单引擎提供的基础控件之外的控件称为自定义控件,这些控件由开发人员自己定义,比如:评分、公文字号、定位等.基本控件分类字段控件:文本字段、数值字段、日期字段、......
  • 基于live555开源流媒体服务器开发的EasyRTSPServer实现自定义数据与音视频数据的同步
    基于live555开源流媒体服务器开发的EasyRTSPServer实现的是视频和音频的数据传输,而随着智能分析的应用越来越多,如何将分析结果传给客户端也势在必行了。分析问题EasyRTSPServer基于live555改造而来,通过分析代码可以知道,其实它已经自带了metadata的传输.我们要做的就是怎样将这个me......
  • oracle导出导入数据库
    先捋一下oracle的概念oracle的概念稍微有点复杂:用户账号和表空间绑定,表空间分为永久表空间和临时表空间,通过表空间设置数据库的大小等参数,在表空间里面进行新建数据表等操作,oracle的表空间等同于mysql的数据库tnsname里面的server是oracle服务端的连接配置,是用来连接数据库的......
  • 项目管理工具----普加项目管理中间件(PlusProject )入门教程(11):msProject项目的导入和导
    普加项目管理中间件是用于跨浏览器和跨平台应用程序的功能齐全的Gantt图表,可满足项目管理应用程序的所有需求,是最完善的甘特图图表库。.net下可以导入xml和.mpp,微软提供了Microsoft.Office.Interop.MSProject.dll,可以将mpp文件转换成xml格式,我们提供了Plusoft.dll对xml文件进行了......
  • 项目管理工具----普加项目管理中间件(PlusProject )入门教程(11):msProject项目的导入和导
    普加项目管理中间件是用于跨浏览器和跨平台应用程序的功能齐全的Gantt图表,可满足项目管理应用程序的所有需求,是最完善的甘特图图表库。同样普加项目管理中间件提供了导出方法,可以导出XML格式的文件,这个文件可以在微软project中直接打开展示。varwin=newPlusProject.ExportPro......
  • 项目管理工具----普加项目管理中间件(PlusProject )入门教程(11):msProject项目的导入和导
    普加项目管理中间件是用于跨浏览器和跨平台应用程序的功能齐全的Gantt图表,可满足项目管理应用程序的所有需求,是最完善的甘特图图表库。除了上文介绍的加载json数据的方式展示外,更常用的方式是导入。普加项目管理中间件支持导入微软project两种格式的文件,xml和mpp,这里的文件解析都......
  • RTSP流媒体服务器EasyNVR在直播项目中如何自定义直播背景音乐
    TSINGSEE青犀视频开发的平台主要用于安防直播,除了在安防领域的应用外,也已经成功落地于许多其他领域,包括景区直播。在普通的安防直播场景中,对于视频监控背景音乐并没有特别的要求。然而,对于景区来说,监控的目的不仅限于安防,还包括向外界展示和宣传。因此,在景区直播中,可以结合背景音乐......
  • JS Blob 下载时导出csv,通过excel软件打开中文乱码的问题:
    proxy.$http.post(url,commitObject.value,{headers:{responseType:'blob'}}).then((p)=>{if(p.data.code==200||p.status==200){ElMessage.success('预测成功,等待结果展示!')if(commitObject.value.returnTyp......