public static void downloadExcel(HttpServletResponse response, String filename, String path) throws Exception {
try {
BufferedInputStream fis = new BufferedInputStream(new FileInputStream(path));
byte[] buffer = new byte[fis.available()];
fis.read(buffer);
fis.close();
response.reset();
OutputStream toClient = new BufferedOutputStream(response.getOutputStream());
response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE, PUT");
response.setContentType("*");
response.setHeader("Content-Disposition", "attachment;filename="
+ URLEncoder.encode(filename + ".xlsx", "UTF-8"));
response.setHeader("fileName", new String((filename + ".xlsx").getBytes("UTF-8")));
response.setHeader("Access-Control-Expose-Headers", "Content-Disposition");
toClient.write(buffer);
toClient.flush();
toClient.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}