文章目录

  • 前言
  • 1. 使用JXL导出
  • 2. 实现步骤
    • 2.1 相关Jar包
    • 2.2 创建创建可写入的Excel工作薄
    • 2.3 创建工作表
    • 2.4 创建单元格
    • 2.5 写入到文件
    • 2.6 释放资源:
  • 3. 代码实现导出用户列表数据
    • 3.1 UserController中添加方法
    • 3.2 UserService中的方法

前言

JXL只能对Excel进行操作,属于比较老的框架,它只支持到Excel 95~2000的版本。现在已经停止更新和维护。但是有些老公司还在用,所有记录下来!

1. 使用JXL导出

通过WritableWorkbook, WritableSheet, Label这三个对象我们就可以实现Excel文件的导出工作.

2. 实现步骤

2.1 相关Jar包

  <!--操作jxl--><dependency><groupId>net.sourceforge.jexcelapi</groupId><artifactId>jxl</artifactId><version>2.6.12</version></dependency>

2.2 创建创建可写入的Excel工作薄

 WritableWorkbook workbook = Workbook.createWorkbook(输出流);

2.3 创建工作表

 WritableSheet sheet = workbook.createSheet(工作表名称, 工作表的索引值);

2.4 创建单元格

 Label labelC = new Label(列索引值, 行索引值, "单元格中的内容");sheet.addCell(labelC);

2.5 写入到文件

 workbook.write();   //写入数据

2.6 释放资源:

 workbook.close();   //关闭文件

3. 代码实现导出用户列表数据

3.1 UserController中添加方法

 @GetMapping(value = "/downLoadXlsByJxl",name = "使用jxl下载")public void downLoadXlsByJxl(HttpServletResponse response){userService.downLoadByJxl(response);}

3.2 UserService中的方法

  //jxl导出public void downLoadXlsByJxl(HttpServletResponse response) throws Exception {//1.获取输出流ServletOutputStream out = response.getOutputStream();//2.创建工作簿WritableWorkbook workbook = Workbook.createWorkbook(out);//3.创建工作表WritableSheet sheet = workbook.createSheet("Hello JXL~~", 0);//调整列宽  第一个参数: 列的索引值  第二个参数: 1代表一个标准字符的宽度sheet.setColumnView(0,5);sheet.setColumnView(1,8);sheet.setColumnView(2,15);sheet.setColumnView(3,10);sheet.setColumnView(4,30);//4.创建标题String[] strings ={"编号","姓名","手机号","入职日期","现住址"};Label label=null;for (int i = 0; i < strings.length; i++) {label = new Label(i, 0, strings[i]);sheet.addCell(label);}//5.查询所有用户List<User> users = userMapper.selectAll();int rowIndex=1;for (User user : users) {label=new Label(0,rowIndex,user.getId().toString());sheet.addCell(label);label=new Label(1,rowIndex,user.getUserName().toString());sheet.addCell(label);label=new Label(2,rowIndex,user.getPhone().toString());sheet.addCell(label);label=new Label(3,rowIndex, new SimpleDateFormat("yyyy-MM-dd").format(user.getHireDate()));sheet.addCell(label);label=new Label(4,rowIndex,user.getAddress().toString());sheet.addCell(label);rowIndex++;}//6. 文件导出 一个流 两个头(文件的打开方式 in-line attachment, 文件的下载时mime类型) 表格字符编码 application/vnd.ms-excelString filename="一个JXL入门.xls";response.setHeader("content-disposition","attachment;filename="+new String(filename.getBytes(),"ISO8859-1"));response.setContentType("application/vnd.ms-excel");//7.输出workbook.write();//8.关闭流workbook.close();out.close();}

Excel数据表格操作01~~使用JXL操作数据相关推荐

  1. WPS:Excel数据表格查询定位技巧之如何设置加重颜色的十字定位(定位数据更加一目了然)

    WPS:Excel数据表格查询定位技巧之如何设置加重颜色的十字定位(定位数据更加一目了然) 目录 Excel数据表格查询定位技巧之如何设置加重颜色的十字定位 Excel数据表格查询定位技巧之如何设置加 ...

  2. php把数据创建一个表格,PHP创建(导出Excel数据表格)

    /** * 创建(导出Excel数据表格) * @param  array   $list 要导出的数组格式的数据 * @param  string  $filename 导出的Excel表格数据表的 ...

  3. Excel数据表格“”连字符4种在使用中的小技巧

    程序代码园发文地址:null小说,Java,HTML,Java小工具,程序代码园,http://www.byqws.com/ ,Excel数据表格"&"连字符4种在使用中的 ...

  4. Vue导出Excel数据表格

    这两天在做一个有关Vue框架导出Excel数据表格的项目练习,因为之前并未写过有关导出功能的练习,所以有感而发记录一下,也请各位一起共同各抒己见.(这是我第一次写博客,不足之处敬请指教) 我的情况是后 ...

  5. 【快速上手系列】保姆级Layuimini与SSM的联合使用教程(数据表格操作)

    [快速上手系列]保姆级Layuimini与SSM的联合使用教程(数据表格操作) 使用步骤 导入layuimini 下载layuimini文件 这个并不是直接运行的,需要用HBuilder导入 layu ...

  6. python Excel数据表格转为HTML网页数据表格

    python Excel数据表格转为HTML网页数据表格 文章目录 准备test数据 Excel转html 准备test数据 首先,准备一个excel.以以下代码为例,在当前目录下生成一个Excel文 ...

  7. WPS Excel数据表格处理分析技巧

    WPS EXCEL如何分割指定的字符串 当EXCEL表格中有一列或多列字符串,你只需要其中一部分字符串,如何获取你想要的字符串呢?这需要将字符串分隔,只取出自己想要长度的字符就行,在EXCEL中可以使 ...

  8. python整理excel数据-python操作excel的技巧整理

    一.安装xlrd模块 到python官网下载 pip install xlrd. 二.使用介绍 1.导入模块 import xlrd 2.打开Excel文件读取数据 data = xlrd.open_ ...

  9. layui数据表格操作栏,根据条件改变显示操作的按钮

    本文内容参考网上多篇博客 环境和需求 在使用layui框架的数据表格的时候,需要的操作栏中添加修改,删除,保存等按钮.需求是点击保存按钮就不再显示修改删除两个按钮,二是显示已保存字样. 由于数据表格中 ...

最新文章

  1. Win7旗舰版系统右键菜单响应速度很慢会延迟一段时间
  2. Linux下C语言编程入门-14关于网络编程(1)TCP
  3. linux libssh2 实例
  4. python小游戏代码大全-python贪吃蛇游戏代码
  5. C# - 值类型、引用类型走出误区,容易错误的说法
  6. pdf转word网站,亲测有效
  7. android--service之aidl传递复杂对象,Android--Service之AIDL传递复杂对象
  8. B程序员:讲述三年计算机学习辛酸史
  9. python中文字体怎么设置_python matplotlib 中文字体设置
  10. EasyNVR H5无插件摄像机直播解决方案前端解析之:videojs初始化的一些样式处理...
  11. OSChina 周六乱弹 ——世上无难事,只要肯放弃!
  12. devops_面向内向的人的DevOps
  13. ClassNotFoundException: javax.validation.ValidatorFactory
  14. C#中StreamWriter与BinaryWriter的区别兼谈编码。
  15. 学习git: 常用命令
  16. Java基础知识点面试手册
  17. 以组播流方式替换运营商IPTV直播频道
  18. [内核内存] [arm64] 内存初始化4---bootm_init
  19. 前端毕业设计:Nodejs+Vue菜鸟驿站仓库管理系统的设计与实现
  20. 如何区分网线是几类的_怎么看网线是几类?

热门文章

  1. Java实现各种视频格式下载
  2. 玩机搞机----安卓全机型修改 开机动画 步骤教程
  3. redis stream 实现消息队列
  4. Excel的Sumproduct函数详解
  5. MFC编程点滴系列4-有多少MFC可以重来
  6. 获取公众号的所有文章
  7. azw3怎么在PC电脑上打开?
  8. 大学生活的自我总结-大一
  9. 基于stc15f2k60s2芯片单片机编程(串口+超声波)
  10. PICK菲仕乐锅具,轻松开启荤素搭配健康轻生活