导出excel整理
开发中难免会遇到要导出数据到excel的,网上有很多方法,但是看起来都很复杂的样子,写得又非常多代码,让人望而止步.我做一个简单的导出excel表格功能.这是我在工作上用到的.
1.需要用到的jar
<dependency> <groupId>net.sourceforge.jexcelapigroupId> <artifactId>jxlartifactId> <version>2.6.10version> dependency> |
我将会从前端请求开始一直到controller的测试方法,最后到工具类.
首先是前端页面,我用的是layui,项目使用的框架是springboot+springcloud,对这个导出功能没有太大影响,在其他框架也是可以用的,除非你的不是maven,那也无所谓,下载jar就可以了.
前端页面js如下:
自己写一个跳转发方法,跳转到controller触发导出方法
Controller中的方法,代码如下:
这是我做的一个测试代码,数据都是随便填写,如果是从数据库查询到的数据,自己做个改动就可以了,这些都是简单的,我就不做演示.
@RequestMapping(value = "exportStatisticsReport", method = RequestMethod.GET)
public void exportStatisticsReport(HttpServletRequest request, HttpServletResponse response){
Map map = getParameterNames(request);
//使用LinkedHashMap,因为这个是有序的map
LinkedHashMap reportData = new LinkedHashMap<>();
//装载数据,就是要导出到excel的数据
reportData.put("test1","流水号");
reportData.put("test2","辖区");
reportData.put("test3","业务状态");
reportData.put("test4","企业名称");
reportData.put("test5","网点");
//把要导出到excel的数据的LinkedHashMap装载到这个List里面,这是导出工具类要求封装格式.
List
最后,我们再来看看导出excel的工具类
至于工具类中是如何实现的,我们不需要去关心,里面的注释我写得非常清楚,有兴趣的可以去看看.我们要关注的是该方法的参数列表.
这个方法需要用到的参数有以下4个:
1.HttpServletResponse response:这个不用解释吧
2.List这个是装载要导出到excel的数据,在controller方法里面已经写得非常清楚.
3.String sheetName:这个是excel表格中sheet的名称,同时也可以作为下载的时候显示的文件名.
4.List columns:这个参数是装载excel表格列名的集合,在controller方法里面也写得非常清楚了.
我们只要按照方法参数规定的格式提供参数给方法,就可以了.
导出excel工具类中的第一个方法代码如下: 下面这个代码看看就好,要用的时候直接拿去用
这个工具类可以在这里下载:
https://gitee.com/qsa2019/export_excel_tool_class.git
public class ExportExcel {
public static int exportToExcel(HttpServletResponse response,
List
最后测试一下:
点击导出按钮,页面底部就出现这个:说明导出成功!!!