通过浏览器下载指定路径的Execl文件
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@Override
public ResultData down(Integer id, HttpServletResponse response) {
DownExeclTask downExeclTask = downExeclMapper.getById(id);
if(downExeclTask == null){
ResultData.fail("导出任务不存在");
}
String url = downExeclTask.getUrl();
String fileName= downExeclTask.getFileName();
try {
response.reset();// 清空输出流
fileName= new String( fileName.getBytes( "gb2312" ), "ISO8859-1");
response.setHeader("Content-disposition", "attachment; filename=" + fileName);// 设定输出文件头
response.setContentType("application/msexcel");// 定义输出类型
File file = new File(url);
FileInputStream in = new FileInputStream(file);
ServletOutputStream out = response.getOutputStream();
int b;
while ((b = in.read()) != -1){
out.write(b);
}
in.close();
out.close();
out.flush();
} catch (IOException e) {
logger.error("异常信息{}", e);
}
return ResultData.ok();
}