天天看点

jquery.fileDownload.js插件导出excel

因为使用ajax导出excel会出现问题,所以现在使用jQuery.fileDownload.js插件来解决导出excel的问题

http://johnculviner.com/jquery-file-download-plugin-for-ajax-like-feature-rich-file-downloads/

在页面引入jquery.fileDownload.js插件

1、如下所示

jquery-file-Download.js源码解析:

2、在后台代码中设置Cookie,并返回Cookie的值

public

void export(final HttpServletRequest request, HttpServletResponse

response,final String semesterId) throws IOException,

IllegalArgumentException, IllegalAccessException {

  String fileName = "excel文件";

  response.reset();

  response.setContentType("application/vnd.ms-excel;charset=utf-8");

  response.setHeader("Content-Disposition", "p_w_upload;filename=" + new String((fileName + ".xls").getBytes(), "iso-8859-1"));

  //在这里加入设置Cookie   -------------

  Cookie fileDownload=new Cookie("fileDownload", "true");

  fileDownload.setPath("/");

  response.addCookie(fileDownload);

  //------------------------------------

  ServletOutputStream out = response.getOutputStream();

  final HSSFWorkbook workbook = new HSSFWorkbook();

  List<Future<Boolean>> resultList = new ArrayList<Future<Boolean>>();

3、如果要使回调函数successCallback和failCallback起作用,还得在后台代码中返回Cookie

 jquery-file-Download.js源码解析:

  后台设置与特定的cookie值

  前台js定时去调用checkFileDownloadComplete方法,检查前台与后台返回的cookie值是否匹配

继续阅读