Excel数据表格操作01~~使用JXL操作数据
文章目录
- 前言
- 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操作数据相关推荐
- WPS:Excel数据表格查询定位技巧之如何设置加重颜色的十字定位(定位数据更加一目了然)
WPS:Excel数据表格查询定位技巧之如何设置加重颜色的十字定位(定位数据更加一目了然) 目录 Excel数据表格查询定位技巧之如何设置加重颜色的十字定位 Excel数据表格查询定位技巧之如何设置加 ...
- php把数据创建一个表格,PHP创建(导出Excel数据表格)
/** * 创建(导出Excel数据表格) * @param array $list 要导出的数组格式的数据 * @param string $filename 导出的Excel表格数据表的 ...
- Excel数据表格“”连字符4种在使用中的小技巧
程序代码园发文地址:null小说,Java,HTML,Java小工具,程序代码园,http://www.byqws.com/ ,Excel数据表格"&"连字符4种在使用中的 ...
- Vue导出Excel数据表格
这两天在做一个有关Vue框架导出Excel数据表格的项目练习,因为之前并未写过有关导出功能的练习,所以有感而发记录一下,也请各位一起共同各抒己见.(这是我第一次写博客,不足之处敬请指教) 我的情况是后 ...
- 【快速上手系列】保姆级Layuimini与SSM的联合使用教程(数据表格操作)
[快速上手系列]保姆级Layuimini与SSM的联合使用教程(数据表格操作) 使用步骤 导入layuimini 下载layuimini文件 这个并不是直接运行的,需要用HBuilder导入 layu ...
- python Excel数据表格转为HTML网页数据表格
python Excel数据表格转为HTML网页数据表格 文章目录 准备test数据 Excel转html 准备test数据 首先,准备一个excel.以以下代码为例,在当前目录下生成一个Excel文 ...
- WPS Excel数据表格处理分析技巧
WPS EXCEL如何分割指定的字符串 当EXCEL表格中有一列或多列字符串,你只需要其中一部分字符串,如何获取你想要的字符串呢?这需要将字符串分隔,只取出自己想要长度的字符就行,在EXCEL中可以使 ...
- python整理excel数据-python操作excel的技巧整理
一.安装xlrd模块 到python官网下载 pip install xlrd. 二.使用介绍 1.导入模块 import xlrd 2.打开Excel文件读取数据 data = xlrd.open_ ...
- layui数据表格操作栏,根据条件改变显示操作的按钮
本文内容参考网上多篇博客 环境和需求 在使用layui框架的数据表格的时候,需要的操作栏中添加修改,删除,保存等按钮.需求是点击保存按钮就不再显示修改删除两个按钮,二是显示已保存字样. 由于数据表格中 ...
最新文章
- Win7旗舰版系统右键菜单响应速度很慢会延迟一段时间
- Linux下C语言编程入门-14关于网络编程(1)TCP
- linux libssh2 实例
- python小游戏代码大全-python贪吃蛇游戏代码
- C# - 值类型、引用类型走出误区,容易错误的说法
- pdf转word网站,亲测有效
- android--service之aidl传递复杂对象,Android--Service之AIDL传递复杂对象
- B程序员:讲述三年计算机学习辛酸史
- python中文字体怎么设置_python matplotlib 中文字体设置
- EasyNVR H5无插件摄像机直播解决方案前端解析之:videojs初始化的一些样式处理...
- OSChina 周六乱弹 ——世上无难事,只要肯放弃!
- devops_面向内向的人的DevOps
- ClassNotFoundException: javax.validation.ValidatorFactory
- C#中StreamWriter与BinaryWriter的区别兼谈编码。
- 学习git: 常用命令
- Java基础知识点面试手册
- 以组播流方式替换运营商IPTV直播频道
- [内核内存] [arm64] 内存初始化4---bootm_init
- 前端毕业设计:Nodejs+Vue菜鸟驿站仓库管理系统的设计与实现
- 如何区分网线是几类的_怎么看网线是几类?