poi做excel导出时,由于数据量大,组装数据花费很长时间。
导致用户在点击导出按钮后,隔很长时间才能弹出文件下载对话框。有什么方法能先弹出对话框,在用户选择保存目录后,再写出数据吗?
响应头设置:
response.reset();
response.setContentType("application/x-msdownload");
request.setCharacterEncoding("GBK");
response.setHeader("Content-Disposition", unicodeToGB("attachment;filename=\"导出测试.xls\""));
导致用户在点击导出按钮后,隔很长时间才能弹出文件下载对话框。有什么方法能先弹出对话框,在用户选择保存目录后,再写出数据吗?
响应头设置:
response.reset();
response.setContentType("application/x-msdownload");
request.setCharacterEncoding("GBK");
response.setHeader("Content-Disposition", unicodeToGB("attachment;filename=\"导出测试.xls\""));
如果要立即传输,就在response开启之后,数据库导数据,写入outputstream。这样占用服务器的连接时间反而增多了。对服务器压力更大把。
要立即传输,就要把这种数据量大,而且不常更新的缓存起来。