我已经编写了一个用于在servlet和java的帮助下下载Excel工作表的代码。我的代码工作正常,并且在客户端也出现了一个下载弹出窗口。但是,正在创建一个同名的excel文件。在Apache Tomcat目录中也可以(因为这对以后用户下载该文件很有帮助) 从特定位置),但我不想将该文件存储到tomcat目录,因为我们无法将该文件夹/目录的访问权限授予用户。因此,我想知道如何将特定文件存储在服务器的特定文件夹位置,以及 允许用户第一次下载功能。 我正在使用3.9版本的org.apache.poi jar
注意:此服务器端的文件行为存储仅针对XLS文件格式而不针对XLSX文件格式发生,并且我仅在FileOutputStream中使用文件名而不是完整路径。
我用于XLS文件格式的代码:
HSSFSheet sheet = ExcelUtil.createWorkBook(anyexcelBean);
response.setHeader("Content-Disposition", "inline; filename=" + excelBean.getFileName());
response.setContentType("application/vnd.ms-excel");
OutputStream outputStream = response.getOutputStream();
sheet.getWorkbook().write(outputStream);
outputStream.flush();
outputStream.close();
XLXS格式的代码:
protected void buildDownload(HttpServletResponse response, Workbook wb, String fileName) {
try {
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-disposition", "attachment; filename=" + fileName + ".xlsx");wb.write(response.getOutputStream());
response.getOutputStream().close();
response.flushBuffer();
} catch (IOException e) {
logger.error("[WB_FILE_MGR] IOException while exporting file", e);
}
}
预先感谢您的帮助。