Java实现导出Excel功能

刚写了个导入Excel表格,现在来写个导出,其实形式都差不多,废话不多说,贴代码

<div>
      <button type="button" class="btn-btn" @click="exportData()">导出</button>
 </div>

这里根据个人需求,我这里写时间设置,根据条件去请求导出,这里因人而异

exportData(){
                //判断用户有无填写操作类型
                if (this.type != "") {
                    //默认全部操作类型,不传参
                    this.param["code"] = this.code;
                }
                //判断用户有无填写开始日期
                if (this.startDate != '') {
                    this.param['statrDate'] = new Date(this.startDate);
                }
                //判断用户有无填写结束日期
                if (this.endDate != '') {
                    this.param['endDate'] = new Date(this.endDate);
                }
                this.param[this.optionSelected] = this.param.searchText;
                var url = "${ctx}/operatelog/exportOperateLog";
                window.open(url);
            }

java中Controller层,来接受请求,数据库查询到的数据进行封装,然后使用ExcelUtils进行输出。

@RequestMapping("/exportOperateLog")
    @ResponseBody
    public void exportOperateLog(HttpServletRequest request, HttpServletResponse response, OperateLogParam param) {
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
        try {
            response.reset();
            response.setContentType("text/html;charset=GBK");// 设置response内容的类型
            response.setHeader("Content-disposition", "attachment;filename=SysteamLog" + dateFormat.format(new Date()) + ".xls;");
            String strTableName = "系统日志"; //这个是标题
            List<String> headers = new ArrayList<>();
            headers.add("序号"); //这里的表头,根据数据的字段命名也行,随你喜欢
            headers.add("操作日期时间");
            headers.add("操作类型");
            headers.add("数据1");
            headers.add("数据2");
            headers.add("操作员id");
            headers.add("操作员");
            List<OperateLogParam> operateLogList = operateLogService.findOperateLogList(param);
            List<String[]> operateListStr = new ArrayList<>();
            for (int i = 0; i < operateLogList.size(); i++) {
                OperateLogParam opeLogPar = operateLogList.get(i);
                String[] strarr = new String[]{(StringUtils.isEmpty(opeLogPar.getOperateLogId().toString())?"-":opeLogPar.getOperateLogId().toString()),
                        (StringUtils.isEmpty(opeLogPar.getCreateTime().toString())?"-":opeLogPar.getCreateTime().toString()),
                        (StringUtils.isEmpty(opeLogPar.getTitle())?"-":opeLogPar.getTitle()),
                        (StringUtils.isEmpty(opeLogPar.getData1())?"-":opeLogPar.getData1()),
                        (StringUtils.isEmpty(opeLogPar.getData2())?"-":opeLogPar.getData2()),
                        (StringUtils.isEmpty(opeLogPar.getAdminId().toString())?"-":opeLogPar.getAdminId().toString()),
                        (StringUtils.isEmpty(opeLogPar.getOperatorName())?"-":opeLogPar.getOperatorName()),
                };
                operateListStr.add(strarr);
            }

            ExcelUtil.createExcel(strTableName, headers, operateListStr, response.getOutputStream());

        } catch (IOException e) {
            e.printStackTrace();
        }

这里里面的ExcelUtils 在我的另一篇笔记中有

Excel导入功能

https://www.jb51.net/article/121533.htm

导出效果

到此这篇关于Java实现导出Excel功能的文章就介绍到这了,更多相关java导出excel内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • java导出excel 浏览器直接下载或者或以文件形式导出

    看代码吧~ /** * excel表格直接下载 */ public static void exportExcelByDownload(HSSFWorkbook wb,HttpServletResponse httpServletResponse,String fileName) throws Exception { //响应类型为application/octet- stream情况下使用了这个头信息的话,那就意味着不想直接显示内容 httpServletResponse.setContent

  • Java通过导出超大Excel文件解决内存溢出问题

    前言 将业务数据导出到Excel表中,导出任务数据量较大时,导出的项目就会内存溢出,本文通过Java操作Poi的SXSSFWorkbook类进行导出,解决内存溢出问题. 1.采用Poi中的SXSSFWorkbook 在实现excel导出时,在数据量过大的情况下,总是容易发生内存溢出的情况.可以使用POI提供的 SXSSFWorkbook 类来避免内存溢出. 2.maven中引入Poi <!-- poi start --> <dependency> <groupId>or

  • Java树形结构数据生成导出excel文件方法记录

    目录 什么是树形结构数据 效果 用法 源码 总结 什么是树形结构数据 效果 用法 String jsonStr = "{\"name\":\"aaa\",\"children\":[{\"name\":\"bbb\",\"children\":[{\"name\":\"eee\"},{\"name\":\"f

  • Java导出Excel统计报表合并单元格的方法详解

    目录 前言 示例 注意事项 总结 前言 Apache POI是一种流行的API,允许程序员使用Java程序创建,修改和显示MS Office文件. 它是由Apache Software Foundation开发和分发的开源库,用于使用Java程序设计或修改Microsoft Office文件. 它包含将用户输入数据或文件解码为MS Office文档的类和方法. HSSF - 用于读取和写入MS-Excel文件的xls格式 示例 类似上面的需要合并表头的报表在日常的开发中也是经常遇到,这里总结下关

  • Java大批量导出Excel数据的优化过程

    目录 背景 问题和解决方案 遇到的问题 解决步骤 整理工具类 参考资料 背景 团队目前在做一个用户数据看板(下面简称看板),基本覆盖用户的所有行为数据,并生成分析报表,用户行为由多个数据来源组成(餐饮.生活日用.充值消费.交通出行.通讯物流.交通出行.医疗保健.住房物业.运动健康...), 基于大量数据的组合.排序和统计.根据最新的统计报告,每天将近100W+的行为数据产生,所以这个数据基数是非常大的. 而这个数据中心,对接很多的业务团队,这些团队根据自己的需要,对某些维度进行筛选,然后直接从我

  • Java用POI导入导出Excel实例分析

    1.异常java.lang.NoClassDefFoundError: org/apache/poi/UnsupportedFileFormatException 解决方法: 使用的poi的相关jar包一定版本一定要相同!!!!! 2.maven所使用jar包,没有使用maven的话,就用poi-3.9.jar和poi-ooxml-3.9.jar(这个主要是用于Excel2007以后的版本)两个jar包就行() <dependency> <groupId>org.apache.po

  • Java实现导出Excel功能

    刚写了个导入Excel表格,现在来写个导出,其实形式都差不多,废话不多说,贴代码 <div> <button type="button" class="btn-btn" @click="exportData()">导出</button> </div> 这里根据个人需求,我这里写时间设置,根据条件去请求导出,这里因人而异 exportData(){ //判断用户有无填写操作类型 if (this.ty

  • Java poi导出Excel下载到客户端

    Java poi 导出Excel并下载到客户端,具体内容如下 Maven配置,包含了其他文件格式的依赖,就全贴出来了 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-excelant</artifactId> <version>3.12</version> </dependency> <dependency> <gr

  • java动态导出excel压缩成zip下载的方法

    本文实例为大家分享了java动态导出excel压缩成zip下载的具体代码,供大家参考,具体内容如下 package pack.java.io.demo; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.text.Simpl

  • django admin后台添加导出excel功能示例代码

    Django功能强大不单在于他先进的编程理念,很多现有的功能模块更是可以直接拿来使用,比如这个牛掰的admin模块,可以作为一个很好的信息登记管理系统. admin模块中的actioin是可以自定义添加的,比如这次要介绍的导出excel功能,就可以在action中触发. 本文将详细介绍如何导出admin中录入的数据为excel,可以直接提交给你的leader观看. 首先我们要安装 xlwt 这个工具模块: pip install xlwt import的准备 修改admin.py: #-*-co

  • Django Admin中增加导出Excel功能过程解析

    在使用Django Admin时, 对于列表我们有时需要提供数据导出功能, 如下图: 增加导出Excel功能 在Django Admin中每个模型的Admin类(继承至admin.ModelAdmin), 我们可以通过actions增加支持的动作, 值为当前类存在的方法名, 例如: ....... @admin.register(Issue) class IssueAdmin(admin.ModelAdmin): ...... actions = ['export_as_excel'] # 增加

  • Vue通过Blob对象实现导出Excel功能示例代码

    不同的项目有不同的导出需求,有些只导出当前所显示结果页面的表格进入excel,这个时候就有很多插件,比如vue-json-excel或者是Blob.js+Export2Excel.js来实现导出Excel功能.但是有些需求因为数据量太大,成千上万条数据,所以是需要后端拼接,然后输出二进制流文件,然后前端直接下载,这次我们谈谈后者的做法. Blob对象表示一个不可变.原始数据的类文件对象,通常我也叫它二进制流对象.我们可以通过Blob对象实现导出Excel功能,先放上代码: <el-button

  • Vue导出Excel功能的全过程记录

    目录 1.前端主导流程: 2. 插件使用及初始化 2.1  借助vue-admin中提供的方法. 2.2  安装插件依赖. 2.3  回调函数内容如下 3.对后台数据进行处理,完成想要的效果 3.1  准备一个数据处理函数(最后会在回调里面使用) 3.2  先处理表头,定义一个对象,目的是待会将表头的英文转成中文 3.3  定义表头 3.4  要处理后台返回数据 3.5   表头处理逻辑 3.6 表格data处理逻辑 3.7 函数返回 3.8 最终完成 总结: 1.前端主导流程: 1.点击页面中

  • elementUI+Springboot实现导出excel功能的全过程

    目录 前言 步骤 依赖包 element表格table 引入包 编写方法 完整实例 最终导出结果 结语 前言 在前面,我们其实已经完成了elementUI+springboot的导入功能springboot实现上传并解析Excel过程解析那么,现在也对这个导出功能进行一个汇总整理写出来其实,导出功能相对导入功能还是比较简单,本次不需要考虑到后端 步骤 依赖包 首先,我们需要引入vue的依赖包我用的是这个 npm install xlsx@^0.16.0 npm install file-save

  • java实现导出Excel的功能

    导出excel是咱Java开发的必备技能啦,之前项目有这个功能,现在将其独立出来,分享一下. 所用技术就是SpringBoot,然后是MVC架构模式. 废话不多说,直接上代码了,源码点末尾链接就可以下载. (1)新建一个SpringBoot项目(可以官网https://start.spring.io/直接生成下载,然后导入eclipse),项目结构如下: (2)修改pom文件,添加依赖: <dependency> <groupId>org.springframework.boot&

随机推荐