实现思路:
1、前端展示列表数据
2、js中通过获取勾选数据的id,构建一个空的form表单,并将id通过input绑定到form表单中,提交表单,发送请求
3、后台处理根据id查询数据,并将数据填充到Excel表格,并将填充完整的数据发送到前端
一,前端:
(1)前端js下载方法,点击事件可调用此方法,param作为一个字符串数组参数,将多个选择的id存放到集合中。以逗号分割。
/**
* 下载文件
*/
function download(param){
// 构造空的from表单,并创建input输入框,将参数传到后台
var form = $("<form></form>");
var tempInput = "<input type = 'hidden' id = 'param' name = 'param' value = '"+param+"' />";
form.append(tempInput);
form.attr("action",url);
form.attr("method","post");
$(document.body).append(form);// chrome56版本以后修复form提交的bug
}
二、后端:里面通过类调用的方法,具体不提供类。只提供方法,调用方法的类自行创建
(1)接收,并处里字符串:
/**
* @param request
* @param response
* @param fundCode
* @param depositCode
* @param bornDate
* @throws Exception
* @author lxs
* @Date 2018年5月29日10:42:59
*/
@RequestMapping("/exportDataHS")
@ResponseBody
public void exportDataHS(HttpServletRequest request, HttpServletResponse response,
String param throws Exception{
// 设置查询参数
Map<String,Object> paramMap = new HashMap<String,Object>();
paramMap.put("param", param.split(","));
// 根据参数获取数据
List<InterbankDeposit> interbankDepositList =
interbankDepositService.queryInterbankDepositDetail(paramMap);
String excelFileName