/*** 导出模板
* @return
*/
@RequestMapping(value="/downExcel")
public String toDownExcel(HttpServletRequest request,HttpServletResponse response) {
String filename="";
filename="exam.xls";
response.setCharacterEncoding("utf-8");
response.setContentType("multipart/form-data");
response.setHeader("Content-Disposition", "attachment;fileName="
+ filename);
try {
String path = Thread.currentThread().getContextClassLoader()
.getResource("").getPath()
+ "download";//这个download目录为啥建立在classes下的
InputStream inputStream = new FileInputStream(new File(path
+ File.separator + filename));
OutputStream os = response.getOutputStream();
byte[] b = new byte[2048];
int length;
while ((length = inputStream.read(b)) > 0) {
os.write(b, 0, length);
}
// 这里主要关闭。
os.close();
inputStream.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
// 返回值要注意,要不然就出现下面这句错误!
//java+getOutputStream() has already been called for this response
return null;
}
本文介绍了一个简单的Spring MVC控制器方法,用于导出Excel文件。通过设置响应头和读取指定路径下的Excel文件,实现将文件下载到客户端的功能。
290

被折叠的 条评论
为什么被折叠?



