该方法一般接收两个参数,response和要导出的表格内容的list.

一般我们将数据库的数据查询出来在页面进行展示,根据用户需求,可能需要对页面数据进行导出.

此时只要将展示之前查询所得的数据放入session中备份一份,在调用导出方法时,从session中获取即可,

如果为后台直接导出,直接查询数据库后将结果传入即可,当然也可以在导出Excel方法中查询.

查询方法: 

  // 获取查询结果存入session中
        Object resultList = request.getAttribute("listItems");//传入前台展示的查询结果集
        request.getSession().setAttribute("resultList", resultList);

导出Excel方法:

   // 从session中获取查询结果集
        List<TTmoasCoNorecordInfo> resultList = (List<TTmoasCoNorecordInfo>) request.getSession().getAttribute("resultList");

// 调用导出excel方法,传入response,和resultList
        xsdwglService.downloadExcel(response, resultList);

downloadExcel如下:

    @Overridepublic void downloadExcel(HttpServletResponse response, List<TTmoasCoNorecordInfo> list) {// 创建工作表WritableWorkbook book = null;response.reset();response.setCharacterEncoding("UTF-8");// 设置字符集// 创建工作流OutputStream os = null;try {// 设置弹出对话框response.setContentType("application/DOWLOAD");response.setCharacterEncoding("UTF-8");// 设置工作表的标题response.setHeader("Content-Disposition", "attachment; filename=Norecord_Social_Credit_Code.xls");// 设置生成的文件名字os = response.getOutputStream();// 初始化工作表book = Workbook.createWorkbook(os);} catch (IOException e1) {logger.error("导出excel出现IO异常", e1);throw new ServiceException("导出失败", e1);}try {// 以下为excel表格内容// int nCount = list.size();WritableSheet sheet = book.createSheet("社信代无关联及名称不一致保存结果", 0);// 生成名工作表,参数0表示这是第一页// int nI = 1;// 表字段名sheet.addCell(new jxl.write.Label(0, 0, "序号"));sheet.addCell(new jxl.write.Label(1, 0, "名称(查询)"));sheet.addCell(new jxl.write.Label(2, 0, "经营状态"));sheet.addCell(new jxl.write.Label(3, 0, "名称(所填企业名)"));sheet.addCell(new jxl.write.Label(4, 0, "统一社会信用代码"));sheet.addCell(new jxl.write.Label(5, 0, "申请日期"));// 将数据追加for (int i = 1; i < list.size() + 1; i++) {sheet.addCell(new jxl.write.Label(0, i, String.valueOf(i)));// 序号从1开始sheet.addCell(new jxl.write.Label(1, i, list.get(i - 1).getEntname()));sheet.addCell(new jxl.write.Label(2, i, list.get(i - 1).getEntstatus()));sheet.addCell(new jxl.write.Label(3, i, list.get(i - 1).getUserName()));sheet.addCell(new jxl.write.Label(4, i, list.get(i - 1).getAppCertificateNum()));// 设置日期格式SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");Date appDate = list.get(i - 1).getAppDate();String appDateStr = sf.format(appDate);sheet.addCell(new jxl.write.Label(5, i, appDateStr));// 申请日期
            }book.write();book.close();} catch (Exception e) {logger.error("导出excel出现异常", e);throw new ServiceException("导出失败", e);} finally {if (null != os) {try {os.close();} catch (IOException e) {logger.error("关流出现异常", e);e.printStackTrace();}}}}

这样就可以导出Excel表格了.

需要设置多个Sheet/合并单元格等,根据相应API设置即可.

转载于:https://www.cnblogs.com/MyOceansWeb/p/6123966.html

java中使用jxl导出Excel表格详细通用步骤相关推荐

  1. java中使用jxl导出excel表格的工具类(全网唯一亲测可用,在原来基础上扩展)

    java中后台导出excel的话,有两种方案,一是使用poi(不过由于是windows版本的,存在不兼容,但功能更多,更强大),而是使用jxl(纯java编写,不过兼容,简单一些),可以设置输出的ex ...

  2. Java中导入、导出Excel——HSSFWorkbook 使用

    一.介绍 当前B/S模式已成为应用开发的主流,而在企业办公系统中,常常有客户这样子要求:你要把我们的报表直接用Excel打开(电信系统.银行系统).或者是:我们已经习惯用Excel打印.这样在我们实际 ...

  3. java中使用poi导出Excel详解,kotlin音标

    到这个问题,可以设置encoding为双字节.POI可以到www.apache.org下载到. 编译好的jar主要有这样4个:poi包, poi Browser包, poi hdf包, poi hss ...

  4. 【导出EXCEL表格】SpringMVC中使用POI导出EXCEL表格2017年,可以直接复制粘贴使用

    对代码有两点 说明: 第一点: js发出请求的时候,多人测试不能用ajax发送,是个坑,正确的方式如下,至于原因,自己研究,我也不清楚,下面文章中有带参数的方式 var url = getRootPa ...

  5. 关于Java中多个数据excel表格的导出

    public HSSFWorkbook exportType20(List<Map<String, Object>> list, String mentName) { Simp ...

  6. Java中利用freemarker导出word表格并合并单元格

    1.word表格的模板 另存为xml格式: 将保存的xml改成.ftl 格式化一下xml,看看文件中的带有${}是否正确 如果出现这种情况,手动修改下(可复制上一个正确的改下名字) 2.Java代码 ...

  7. Java后台通过jxl生成Excel表格

    这里封装了一个工具类,将对象的list集合解析生成表格,只要按照参数要求传参就好了. 工具类代码如下: package com.hd.erpreport.utils;import java.io.Fi ...

  8. VUE中使用xlsx导出excel表格

    首先下载 npm install xlsx@0.17.0 file-saver@2.0.5 --save 注意需要指定版本才行,如果直接下载,会报依赖的错误,找不到export default . 然 ...

  9. 使用Java在浏览器页面无法导出excel表格

    使用Java在浏览器页面导出excel表格,应该用from表单导出,而不是ajax请求,个人见解.

最新文章

  1. 【bzoj4385】[POI2015]Wilcze doły
  2. 修改hosts 流畅使用coursera
  3. mendelay为什么安装不了_你为什么消防验收过不了?消防管道安装错误图集
  4. 通过命令行界面使用AWS ElasticMapReduce
  5. 也来分析为什么支付宝要做社交
  6. windows10环境tensorflow下载安装
  7. python 把中文句子分割成一个一个的字(英文适用)
  8. eclipse 最全快捷键 分享快乐与便捷
  9. word-wrap、word-break、white-space
  10. 2015年Java开发岗位面试题归类
  11. 我在Linux开发板上跑的第一个Qt程序
  12. 今天不开心 和话痨机器人聊一会
  13. 学习笔记(26):NumPy数据分析-NumPy 统计函数-var方差
  14. Java和Spring:发送邮件(以QQ邮箱为例)
  15. 苹果Mac 软件出现意外退出解决方法
  16. Calendar日期类使用总结
  17. C# 浅谈基于Wpf下的MVVM模式的设计思想
  18. 关于quickbi电子表格下钻以及其他问题
  19. 用python画雪人-萌系新潮玩,唱多多小雪人麦克风天猫独家首发
  20. 洛谷 P2657 (数位DP)

热门文章

  1. Web SQL Database 之 SQLite语法
  2. Linux crontab 定时任务设置
  3. Using dbms_shared_pool.purge to remove a single task from the library cache
  4. 什么是重构,什么不是重构
  5. 笑话(15) 这是地球
  6. s5p4418 Android 4.4.2 驱动层 HAL层 服务层 应用层 开发流程记录(一 硬件驱动层)
  7. python2默认编码_解决Python2.x编码之殇
  8. 解决burpsuite无法对DVWA环境(本地环境)进行抓包
  9. 一次.net托管内存泄露分析
  10. 阿里云江岑:云原生在边缘形态下的升华