在 REST 中更改 Excel 报告名称

Changing Excel Report Name in REST

我有以下生成 excel 报告的方法:

@RequestMapping(value = "/class/{classid}/absent/getstudentreport", method = RequestMethod.GET)
public void studentreport(@PathVariable String classid, HttpServletResponse response) {
Workbook workBook = studentDetailService.getStudentActivityReport(new Long(classid));   //DAO call
    try {
         writeReport(workBook,response); 
    } catch (Exception e) {
        e.printStackTrace();
    }
}

writeReport 包含以下内容:

    private void writeReport(Workbook workBook,HttpServletResponse response) throws IOException {
    response.setContentType("application/vnd.ms-excel; charset=cp1252");
    response.setHeader("Content-Disposition", "attachment; filename=\"");
    response.setHeader("Content-Disposition", "attachment; filename=\"");
    response.setHeader("Expires", "0");
    response.setHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0");
    response.setHeader("Pragma", "public");
    OutputStream sOutputStream = response.getOutputStream();
    workBook.write(sOutputStream);
    sOutputStream.flush();
}

每次我点击 url:

  http://localhost:8087/class/123/absent/getstudentreport

正在下载 getstudentreport.xls 的报告,我想将报告名称更改为如下所示: student_absent_mm_dd_yy_hh_mm_ss.xls 其中(mm、dd、yy 分别是月、日和年,hh、mm、ss 分别是小时、分钟和秒)

我该怎么做。请帮忙。提前致谢。

中设置您的文件名
response.setHeader("Content-Disposition", "attachment; filename=\"");

像这样

response.Response.AddHeader("content-disposition", "attachment;filename=student_absent_mm_dd_yy_hh_mm_ss.xls");

请注意,为了将文件命名为 'student_absent_mm_dd_yy_hh_mm_ss.xls'。你必须使用

编写逻辑
Date or Calendar

通过 extracting/formatting 日期时间对象。