该方法一般接收两个参数,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如下:

  1. @Override
  2. public void downloadExcel(HttpServletResponse response, List<TTmoasCoNorecordInfo> list) {
  3.  
  4. // 创建工作表
  5. WritableWorkbook book = null;
  6. response.reset();
  7.  
  8. response.setCharacterEncoding("UTF-8");// 设置字符集
  9.  
  10. // 创建工作流
  11. OutputStream os = null;
  12. try {
  13.  
  14. // 设置弹出对话框
  15. response.setContentType("application/DOWLOAD");
  16. response.setCharacterEncoding("UTF-8");
  17.  
  18. // 设置工作表的标题
  19. response.setHeader("Content-Disposition", "attachment; filename=Norecord_Social_Credit_Code.xls");// 设置生成的文件名字
  20. os = response.getOutputStream();
  21.  
  22. // 初始化工作表
  23. book = Workbook.createWorkbook(os);
  24.  
  25. } catch (IOException e1) {
  26.  
  27. logger.error("导出excel出现IO异常", e1);
  28. throw new ServiceException("导出失败", e1);
  29. }
  30. try {
  31.  
  32. // 以下为excel表格内容
  33. // int nCount = list.size();
  34. WritableSheet sheet = book.createSheet("社信代无关联及名称不一致保存结果", 0);
  35.  
  36. // 生成名工作表,参数0表示这是第一页
  37. // int nI = 1;
  38.  
  39. // 表字段名
  40. sheet.addCell(new jxl.write.Label(0, 0, "序号"));
  41. sheet.addCell(new jxl.write.Label(1, 0, "名称(查询)"));
  42. sheet.addCell(new jxl.write.Label(2, 0, "经营状态"));
  43. sheet.addCell(new jxl.write.Label(3, 0, "名称(所填企业名)"));
  44. sheet.addCell(new jxl.write.Label(4, 0, "统一社会信用代码"));
  45. sheet.addCell(new jxl.write.Label(5, 0, "申请日期"));
  46.  
  47. // 将数据追加
  48. for (int i = 1; i < list.size() + 1; i++) {
  49.  
  50. sheet.addCell(new jxl.write.Label(0, i, String.valueOf(i)));// 序号从1开始
  51. sheet.addCell(new jxl.write.Label(1, i, list.get(i - 1).getEntname()));
  52. sheet.addCell(new jxl.write.Label(2, i, list.get(i - 1).getEntstatus()));
  53. sheet.addCell(new jxl.write.Label(3, i, list.get(i - 1).getUserName()));
  54. sheet.addCell(new jxl.write.Label(4, i, list.get(i - 1).getAppCertificateNum()));
  55.  
  56. // 设置日期格式
  57. SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
  58. Date appDate = list.get(i - 1).getAppDate();
  59. String appDateStr = sf.format(appDate);
  60. sheet.addCell(new jxl.write.Label(5, i, appDateStr));// 申请日期
  61. }
  62. book.write();
  63. book.close();
  64. } catch (Exception e) {
  65. logger.error("导出excel出现异常", e);
  66. throw new ServiceException("导出失败", e);
  67. } finally {
  68. if (null != os) {
  69. try {
  70. os.close();
  71. } catch (IOException e) {
  72. logger.error("关流出现异常", e);
  73. e.printStackTrace();
  74. }
  75. }
  76. }
  77. }

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

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

java中使用jxl导出Excel表格详细通用步骤的更多相关文章

  1. java中使用poi导出excel表格数据并且可以手动修改导出路径

    在我们开发项目中,很多时候会提出这样的需求:将前端的某某数据以excel表格导出,今天就给大家写一个简单的模板. 这里我们选择使用poi导出excel: 第一步:导入需要的jar包到 lib 文件夹下

  2. java中使用 POI导出excel表格的简单实现

    大概流程分7步: 1.创建工作簿 --> 2.创建sheet表 --> 3.创建row行(建议使用循环) --> 4.用row行逐一创建单元格(建议使用循环) --> 5.单元 ...

  3. Java中导入、导出Excel

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

  4. 我是陌生人 Java中导入、导出Excel

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

  5. [转]Java中导入、导出Excel

    原文地址:http://blog.csdn.net/jerehedu/article/details/45195359 一.介绍 当前B/S模式已成为应用开发的主流,而在企业办公系统中,常常有客户这样 ...

  6. Java web项目JXl导出excel,(从eclipse上移动到tomact服务器上,之路径更改)

    我用的是jxl导出excel,比较简单,最开始我是固定路径不能选择,很局限,后来改了,而且固定路径当把项目放在服务器上时,路径不可行. 在网上各位大神的帮助成功设置响应头,并且可选保存路径. 1.前端 ...

  7. 在java中实现数据导入excel表格中

    1.首先前端代码如下: 一个导出按钮:<input id="export" class="btn btn-primary" type="butt ...

  8. java中使用jxl读取excel中的数据

    package bboss; import java.io.File; import java.io.FileInputStream; import java.io.IOException; impo ...

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

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

随机推荐

  1. 问题(the question)

    I want to know: 1. 软件开发最主要的目的 是什么? 2. 软件开发是否同样需要模,和架构? 3.软件开发与其他程序的需求分析是否相似,有什么不同之处? 4.软件开发最常用的计算机语言 ...

  2. js获取网页屏幕可视区域高度

    document.body.clientWidth ==> BODY对象宽度document.body.clientHeight ==> BODY对象高度document.document ...

  3. 在线OJ实用技巧(转载)

    1.一般用C语言节约空间,要用C++库函数或STL时才用C++; cout.cin和printf.scanf最好不要混用. 2.有时候int型不够用,可以用long long或__int64型(两个下 ...

  4. 使用File类列出指定位置的文件信息,包含该路径子目录下的文件信息

    public class Test{ public static void main(String [] args) { File f=new File("d:"); File [ ...

  5. 在Unity中使用TDD - 初探

    描述 Editor Tests Runner是Unity中用来实现TDD的,其内部实现是基于NUnit. 其他 测试脚本要放在Editor文件夹中,测试要能够在一帧的时间内完成. 使用 打开Edito ...

  6. eclipse从下载到使用

    经常遇到有同学问我: 为啥我的eclipse没有你说的那个东西? 那是咱两选择的平台不一样 我的eclipse为啥和你的那个长的不一样? 那是咱两选择的版本不一样 为什么我的打开报XXX错误? ... ...

  7. 利用css3制作的几个loading图

    先看图,多数是从别人那里看的效果直接仿的,先开随笔,有了创意继续加 其实3个之后,脑子里立刻有个第四个的制作思路,无外乎是利用border或者块元素变形,然后构思好接下来的行为,写起来也非常简单,5个 ...

  8. Unity中使用WebView

    Unity中使用WebView @(设计) 需求,最近游戏中需要引入H5直播页面和更新比较频繁的赛事页面,需求包括:加密传参数.和Unity交互,在Unity框架下其实有几种方案: 内置函数Appli ...

  9. Go-Agent部署与FQ教程(2016-10-28)

    这篇文章是为了帮助使用go-agent-crack来FQ的同学,主要是几个想用该项目来FQ的同学对github主页的FQ文档大力吐槽,索性写一篇详细的文档来支持一下大家,其中包含了google gae ...

  10. Javascript,颜色渐变效果的处理

    在搭建博主博客的时候,寻思着做一些效果,看到菜单,就想是不是可以做一下颜色的渐变,增加一点动态的感觉.有个jquery的插件,效果相当不错,不过博主还是打算自立更生写一下,看看能不能实现. 下面就是博 ...