@RequestMapping("/exportVip") @ResponseBody public void exportVip(HttpServletRequest request, HttpServletResponse response, String time) throws IOException { //查询需要导出的数据 List<String> row1 = CollUtil.newArrayList("aa", "bb", "cc", "dd"); List<String> row2 = CollUtil.newArrayList("aa1", "bb1", "cc1", "dd1"); List<String> row3 = CollUtil.newArrayList("aa2", "bb2", "cc2", "dd2"); List<String> row4 = CollUtil.newArrayList("aa3", "bb3", "cc3", "dd3"); List<String> row5 = CollUtil.newArrayList("aa4", "bb4", "cc4", "dd4"); List<List<String>> rows = CollUtil.newArrayList(row1, row2, row3, row4, row5);
//设置文件名 String name = "购买vip"+time; // 通过工具类创建writer,默认创建xls格式 ExcelWriter writer = ExcelUtil.getWriter(); //合并列,和设置列名 writer.merge(3, "购买vip信息"); // 一次性写出内容,使用默认样式 writer.write(rows);
//自定义标题别名
writer.addHeaderAlias("phoneNum", "手机号");
writer.addHeaderAlias("userNickName", "用户昵称");
writer.addHeaderAlias("vipName", "会员名称");
writer.addHeaderAlias("money", "会员价格");
writer.addHeaderAlias("createTime", "购买时间");
writer.addHeaderAlias("vipOverTime", "会员到期时间");
//out为OutputStream,需要写出到的目标流 //response为HttpServletResponse对象 response.setContentType("application/vnd.ms-excel;charset=UTF-8"); //test.xls是弹出下载对话框的文件名,不能为中文,中文请自行编码 response.setHeader("Content-Disposition", "attachment;filename=" + new String(name.getBytes(), "iso-8859-1") + ".xls"); response.setHeader("Pragma", "no-cache"); response.setHeader("Cache-Control", "no-cache"); response.setDateHeader("Expires", 0); ServletOutputStream out = response.getOutputStream(); writer.flush(out); // 关闭writer,释放内存 writer.close(); }
页面跳转方式
//导出购买vip的人员
$("#exportVip").click(function () {
var time = $("#test3").val();
window.location.href = "/bg/statistics/exportVip?time" + time;
})