本文excel使用poi
在action方法中首先获取输出流
OutputStream os = response.getOutputStream();
//清空response
response.reset();//需要此步骤
//设置文件内容下载方式
response.setHeader("Content-Disposition","attachment;filename="+new String(FILE_NAME.getBytes("utf-8"), "iso-8859-1"));
//设置以excel方式
response.setContentType("application/vnd.ms-excel; charset=UTF-8");
//然后获取excel流数据
PoiExcelUtil.createExportFile(SHEET_NAME, ExcelAttributeUtil.organizationColNames, data, FILE_NAME, os);
如果上述方式顺序弄反,则可能产生在响应请求时response.setHeader内容没有设置。导致下载是的文件名为请求的action名。