【问题标题】:Changing Excel Report Name in REST在 REST 中更改 Excel 报表名称
【发布时间】:2015-07-06 17:45:30
【问题描述】:

我有以下生成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();
}

每次我点击网址时:

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

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

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

【问题讨论】:

    标签: java excel file rest report


    【解决方案1】:

    设置你的文件名

    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
    

    通过提取/格式化日期时间对象。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-28
      • 1970-01-01
      • 1970-01-01
      • 2022-01-20
      • 2018-10-05
      • 1970-01-01
      • 2020-05-20
      • 2021-11-07
      相关资源
      最近更新 更多