浏览器下载服务器上的文件(EXCEL)
2017-04-06 08:53
411 查看
这是Excel类对Excel的部分操作
这里有个问题就是你通过Ajax来请求浏览器是不理你的,但是后台数据是有的,也照样有返回。但是浏览器就是不理你,我也不知道问题在哪,希望哪个大神可以指点一下。不过在界面上我们可以通过a标签的href属性来请求,或者通过form表单来提交。
第一次写。多指教
public HSSFWorkbook exportExcel(String title ,Map<String, String> headers, List<Map<String, Object>> dataBase) { sheet = workbook.getSheetAt(0); // 默认的 第0个工作簿 int i = 0; Map<String, Integer> cellAt = new HashMap<>(); row = sheet.createRow(0); for (Map.Entry<String, String> map : headers.entrySet()) { String key = map.getKey(); cell = row.createCell(i); cell.setCellValue(map.getValue()); cellAt.put(key, i); i++; } for (int j = 0; j < dataBase.size(); j++) { row = sheet.createRow(j + 1); for (Map.Entry<String, Integer> mapd : cellAt.entrySet()) { Integer value = mapd.getValue(); String key = mapd.getKey(); cell = row.createCell(value); Map<String, Object> dataBadeMap = dataBase.get(j); Object dataBadeMapValue = dataBadeMap.get(key); String dataBadeMapValueToString = dataBadeMapValue != null ? dataBadeMapValue.toString() : ""; cell.setCellValue(dataBadeMapValueToString); } } HttpServletResponse response = Noxa.instance.getNoxaDispatcher().getResponse(); try(OutputStream out = response.getOutputStream();){ response.reset(); response.setContentType("application/x-download");//告诉浏览器你要下载东西才能弹出下载框让你选择下载路径 response.addHeader("Content-Disposition", "attachment;filename="+URLEncoder.encode(title+".xls", "UTF-8")); workbook.write(out); if(log.isInfoEnabled()){ log.info("导出成功"); } out.flush(); } catch (Exception e) { log.error("导出失败"); } return workbook; } ----------这一块是下载到服务器本地的 /*try { FileOutputStream os = new FileOutputStream("D://upload//"+title+".xls"); workbook.write(os); os.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return workbook; } */ ----------
这里有个问题就是你通过Ajax来请求浏览器是不理你的,但是后台数据是有的,也照样有返回。但是浏览器就是不理你,我也不知道问题在哪,希望哪个大神可以指点一下。不过在界面上我们可以通过a标签的href属性来请求,或者通过form表单来提交。
第一次写。多指教
相关文章推荐
- 直接客户端浏览器下载文件,不必通过回传服务器再下载(例如将table内容导出excel)
- 利用ADODB.Stream使用浏览器下载服务器文件
- 解决ie下载excel文件直接在浏览器打开的问题(tomcat,web项目)
- 记录一下:上传到服务器上的pdf 文件直接下载而非在浏览器里打开
- JAVA:利用Apache poi在服务器传输带有数据和图片的excel的数据流至浏览器供其下载至本地
- Java通用的Excel文件生成工具类,支持生成文件和浏览器直接下载
- 动态生成 Excel 文件供浏览器下载的注意事项
- Java通用的Excel文件生成工具类,支持生成文件和浏览器直接下载(未测试)
- asp.net mvc导出excel文件先保存到服务器某个目录,然后再导出到客户端供客户下载功能的实现
- java 多excel下载 打成zip压缩包 程序中创建文件 响应到浏览器
- 【POI】导出excel文件,不生成中间文件,直接将内存中的数据创建对象下载到浏览器
- 解决Tomcat服务器下载 xls、rar等文件时浏览器直接打开而没弹出另存为对话框
- 怎么实现NPOI导出excel保存到服务器上,然后返回文件地址下载?
- php excel下载模板方法2,放excel文件在服务器上,直接拉取
- 动态生成 Excel 文件供浏览器下载的注意事项
- 代码实现浏览器下载服务器上的文件
- 服务器通过浏览器下载文件到本地
- 在MVC中实现和网站不同服务器的批量文件下载以及NPOI下载数据到Excel的简单学习
- ssm单文件下载ftp服务器到浏览器
- Java Web实现使用浏览器从服务器下载文件(后台)