Jeecg中使用Excel模板方式导出示例:
@RequestMapping(params = "custExport")
public String custExportAXls(HttpServletRequest request,HttpServletResponse response, DataGrid dataGrid,ModelMap modelMap)
{
String prjid=request.getParameter("prjid");
String field=request.getParameter("field");
String[] flds=field.split(",");
String mbfile=request.getParameter("mbfile");
//取模板文件
String tmpfile= request.getSession().getServletContext().getRealPath("/userfiles/"+mbfile);
TemplateExportParams params=new TemplateExportParams(tmpfile);
Map<String, Object> map=new HashMap<String,Object>();
// 获取查询数据,将数据放到map里面,自定义的excel的单元格里获取map的key值
List<Map<String, Object>> listMap = new ArrayList<Map<String, Object>>();
String sql="select "+field+" from d_mytable where prjid=? order by isequn";
List<Map<String, Object>> list=systemService.findForJdbc(sql,prjid);
for(int i=0;i<list.size();i++){
//Map<String, String> mp = new HashMap<String, String>();
Map<String, Object> mpv=list.get(i);
mpv.put("xh", i+1);
listMap.add(mpv);
}
map.put("listmap", listMap);
//TemplateExcelConstants 要用xlsx格式
modelMap.put(TemplateExcelConstants.FILE_NAME, "输出文件名"); //文件名
modelMap.put(TemplateExcelConstants.PARAMS, params); //参数
modelMap.put(TemplateExcelConstants.MAP_DATA, map); //数据
return TemplateExcelConstants.JEECG_TEMPLATE_EXCEL_VIEW; view名称
}