在 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 日期时间对象。
我有以下生成 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 日期时间对象。