spring MVC 导出excel ExcelMVCSpringEXTAjax
程序员文章站
2022-03-26 21:06:39
...
// 导出excel方法 @RequestMapping("exportExcel") public void exportExcel(HttpServletRequest request, HttpServletResponse response) { HttpSession session = request.getSession(); session.setAttribute("state", null); // 生成提示信息, response.setContentType("application/vnd.ms-excel"); String codedFileName = null; OutputStream fOut = null; try { // 进行转码,使其支持中文文件名 codedFileName = java.net.URLEncoder.encode("中文", "UTF-8"); response.setHeader("content-disposition", "attachment;filename=" + codedFileName + ".xls"); // response.addHeader("Content-Disposition", "attachment; filename=" + codedFileName + ".xls"); // 产生工作簿对象 HSSFWorkbook workbook = new HSSFWorkbook(); //产生工作表对象 HSSFSheet sheet = workbook.createSheet(); for (int i = 0; i <= 30000; i++) { HSSFRow row = sheet.createRow((int)i);//创建一行 HSSFCell cell = row.createCell((int)0);//创建一列 cell.setCellType(HSSFCell.CELL_TYPE_STRING); cell.setCellValue("测试成功" + i); } fOut = response.getOutputStream(); workbook.write(fOut); } catch (UnsupportedEncodingException e1) {} catch (Exception e) {} finally { try { fOut.flush(); fOut.close(); } catch (IOException e) {} session.setAttribute("state", "open"); } System.out.println("文件生成..."); } @RequestMapping("check") public void check(HttpServletRequest request, HttpServletResponse response) { try { if ("open".equals(request.getSession().getAttribute("state"))) { request.getSession().setAttribute("state", null); response.getWriter().write("true"); response.getWriter().flush(); } else { response.getWriter().write("false"); response.getWriter().flush(); } } catch (IOException e) {} }
/***********导出start************/ var excel_flag = 0; var win_check; var exportExcelBtn = new Ext.Button({ renderTo:'exportExcelBtn', text:"<span class='marL10'>"+'导出'+"</span>", height:24, iconCls:'findnew', width:110, bodyStyle:'padding:5px', handler: function() { excel_flag = 0; //禁用按钮 exportExcelBtn.disable(); location.href = "exportExcel"; //每隔一秒向后台发送请求 win_check = window.setInterval(check, 1000); } }); /** * 用于防止重复提交 */ function check() { excel_flag ++; if(excel_flag > 30) { //清空定时器 window.clearInterval(win_check); //启用按钮 exportExcelBtn.enable(); } Ext.Ajax.request( { url : 'check', success : function (response, result) { if(response.responseText=="true") { //清空定时器 window.clearInterval(win_check); //启用按钮 exportExcelBtn.enable(); } } }) } /***********导出end*****************/
推荐阅读
-
ASP.NET MVC使用EPPlus,导出数据到Excel中
-
MVC身份验证.MVC过滤器.MVC6关键字Task,Async.前端模拟表单验证,提交.自定义匿名集合.Edge导出到Excel.BootstrapTree树状菜单的全选和反选.bootstrap可搜索可多选可全选下拉框
-
ASP.NET MVC5 使用NPOI导出ExceL 返回浏览器下载
-
MVC导出数据到EXCEL新方法:将视图或分部视图转换为HTML后再直接返回FileResult_html/css_WEB-ITnose
-
MVC导出数据到EXCEL新方法:将视图或分部视图转换为HTML后再直接返回FileResult_html/css_WEB-ITnose
-
ASP.NET MVC使用EPPlus,导出数据到Excel中
-
通过Spring反射机制,实现通用的Excel导出类
-
MVC身份验证.MVC过滤器.MVC6关键字Task,Async.前端模拟表单验证,提交.自定义匿名集合.Edge导出到Excel.BootstrapTree树状菜单的全选和反选.bootstrap可搜索可多选可全选下拉框
-
vue+axios 与spring boot EasyExcel实现后台导出excel并下载
-
spring MVC 导出excel ExcelMVCSpringEXTAjax