@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;
})