
本文共 1978 字,大约阅读时间需要 6 分钟。
public String DownloadExcel() throws Exception {
try {
String path = request.getSession().getServletContext().getRealPath("/res/excelTemplate/excelTemplate.xlsh");
System.out.println(path);
// // path是指欲下载的文件的路径。
// String fileName = “Operator.xlsh”.toString(); // 文件的默认保存名
// // 读到流中
// InputStream inStream = new FileInputStream(“D:/excelTemplate.xlsx”);// 文件的存放路径
// // 设置输出的格式
// response.reset();
// response.setContentType(“bin”);
// response.addHeader(“Content-Disposition”, “attachment; filename=”" + fileName + “”");
// // 循环取出流中的数据
// byte[] b = new byte[100];
// int len;
// try {
// while ((len = inStream.read(b)) > 0)
// response.getOutputStream().write(b, 0, len);
// inStream.close();
// } catch (IOException e) {
// e.printStackTrace();
// }
File file = new File("D:/excelTemplate.xlsx"); // 取得文件名。
// String filename = file.getName();
String filename = “mcd.xlsx”;
// 取得文件的后缀名。
String ext = filename.substring(filename.lastIndexOf(".") + 1).toUpperCase();
// 以流的形式下载文件。 InputStream fis = new BufferedInputStream(new FileInputStream("D:/excelTemplate.xlsx")); byte[] buffer = new byte[fis.available()]; fis.read(buffer); fis.close(); // 清空response response.reset(); // 设置response的Header response.addHeader("Content-Disposition", "attachment;filename=" + new String(filename.getBytes())); response.addHeader("Content-Length", "" + file.length()); OutputStream toClient = new BufferedOutputStream(response.getOutputStream()); response.setContentType("application/octet-stream"); toClient.write(buffer); toClient.flush(); toClient.close(); Map < String, Object > map = new HashMap < > (); map.put("success", true); return json(map); } catch (Exception e) { e.printStackTrace(); Map < String, Object > map = new HashMap < > (); map.put("success", false); return json(map); }}
发表评论
最新留言
关于作者
