如何从Java代码更改服务器端Excel工作表生成的路径

时间:2018-12-19 12:14:52

标签: java apache apache-poi

我已经编写了一个用于在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);
    }
}

预先感谢您的帮助。

0 个答案:

没有答案