<button class="btn btn-sm btn-danger" type="button" id="exportBatchBtn"> <i class="fa fa-trash fa-btn"></i>批量导出 </button>
//批量导出 $("#exportBatchBtn").click(function () { var ids = ""; $(".check").each(function () { if ($(this).prop("checked")) { ids = ids + ($(this).val()) + "," } }); if (ids == "") { top.layer.msg("请选择要导出的数据!"); return false; } else { ids = ids.substr(0, ids.length - 1); location.href = "<%=basePath%>dispatch/exportByIds?ids="+ids; } });
@KrtLog(description = "批量导出发文数据") @GetMapping("dispatch/exportByIds") public void exportByIds(HttpServletResponse response, String ids, OutputStream os) throws Exception { List lists = dispatchFileService.exportByIds(ids); //定义导出参数 ExportParams params = new ExportParams(); params.setTitle("发文数据"); Workbook workbook = ExcelExportUtil.exportExcel(params, Dispatch_export.class, lists); String fname = "发文数据"+ DateUtil.dateToString("yyyy-MM-dd", new Date()); fname = URLEncoder.encode(fname,"UTF-8"); response.reset();//清空输出流 response.setCharacterEncoding("UTF-8");//设置相应内容的编码格式 response.setHeader("Content-Disposition","attachment;filename="+new String(fname.getBytes("UTF-8"),"GBK")+".xls"); response.setContentType("application/msexcel");//定义输出类型 //将文件写入输出流 workbook.write(os); workbook.close(); os.close(); }
public List exportByIds(String idsStr){ List lists = new ArrayList(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy"); if (!Assert.isEmpty(idsStr)) { String[] ids = idsStr.split(","); List<Dispatch> dispatchList = dispatchFileMapper.exportByIds(ids); for(int i = 0;i<dispatchList.size();i++) { Dispatch_export export = new Dispatch_export(); export.setId(i+1); export.setYear(sdf.format(new Date())); export.setFileTitle(dispatchList.get(i).getFileTitle()); export.setName(dispatchList.get(i).getFullName()); export.setInsertTime(DateUtil.dateToString("yyyy-MM-dd HH:mm:ss",dispatchList.get(i).getInsertTime())); lists.add(export); } } return lists; }
List exportByIds(String[] ids);
<select id="exportByIds" parameterType="java.lang.Integer" resultMap="BaseResultMap"> select <include refid="Base_Column_List"/> from process_dispatch where id in <foreach item="id" collection="array" open="(" separator="," close=")"> #{id} </foreach> </select>