一、数据报表jxl
jxl是一款java读写office——Excel文件的工具。通过java程序进行Excel文件的读写操作。
操作Excel首先应该明确操作过程中java针对Excel文件的对象分类
文件对象
表
单元格
其他(包括字体,样式等)
二、Excel工具类制作
根据业务功能,制作适用于项目的工具类
1.创建的文件对象需要在服务器端形成才可以下载,大量浪费服务器资源,因此创建的文件只需要获取到流对象即可,使用jxl提供的创建可写工作表对象,绑定输出流对象
2.工作表创建时,需要指定工作表名称与其所在位置,因此,定义创建工作表方法,使其更符合中国人的开发习惯
3.工作表的数据展示需要依赖于Label对象进行,根据中国人的习惯,第一个单元格为1行1列,改造适用的创建单元格的方法
4.Label对象创建完毕后,需要将其添加到工作表对象中,创建对应的方法,以add的首字母a进行命名
此处不要将两个方法设置成一个方法,否则Label对象将无法进行样式修改
5.创建设置工作表单元格宽度与高度的方法,用于调整工作表的宽和高。此处以工作表显示单位为基准,宽度不进行修改,高度需要*20。注意设置宽度与高度不是绑定工作表,而是设置基准行与类,默认从0开始,修改成中国人的习惯。
6.单元格合并操作在文件中很常见,设置对应的工具方法,快速使用,以中国人的习惯进行参数设置,从第A行,第B列合并到第C行,第D列
7.单元格样式是修饰的重点,该操作可以根据个人喜好进行设计
8.源码
三、导出报表到Excel文件
根据业务功能,制作业务层方法,返回流对象,用于Action下载,而不要返回文件对象。
1.创建业务层方法,返回InputStream
2.创建字节数组输出流对象,用于读取创建出的Excel文件
3.读取要组织成Excel文件的数据
4.创建待显示数据对应的Excel写文件对象,并进行文件拼写
参看源码
5.将工作表对象写出到流
6.进行输出流转换输入流对象,否则struts2文件下载无法使用
四、文件下载
Struts2提供文件下载功能的快速开发格式,可针对流数据进行转化,最终形成下载文件。
1.Action类中设置方法用于初始化下载文件对应的流对象,此处需要的是输入流对象
2.设置对应的结果集,并设置返回类型为流对象
3.设置返回流对象,需要设置返回流对象名,并提供对应输入流对象getter方法
4.设置返回类型中的对象名
5.下载文件类型根据所下载文件不同,进行设置
如果不清楚下载文件类型设置内容,可以通过查看tomcat中核心web.xml获取对应的设置值
Tomcat安装目录下的conf目录下的web.xml文件查找对应类型
设置下载文件类型,并设置对应字符集
PS:记得声明字符集为iso-8859-1
6.设置下载文件显示名称
7.Action类中定义getter方法,用于获取文件名
记得文件名转码,否则无法显示中文
8.在Action中初始化要显示的文件名
9.初始化业务层提供的Excel文件流对象
10、文件下载源码
action
service
领取专属 10元无门槛券
私享最新 技术干货