Map map = getSearchValue();
File excelFile = orderService.getexportexcel(id,map);
InputStream is = null;
OutputStream os = null;
BufferedInputStream bis = null;
BufferedOutputStream bos = null;
//以流的形式输出文件
try {
if (excelFile.exists()) {
String fileName = "订单.xls";
is = new FileInputStream(excelFile);
HttpServletResponse response = ServletActionContext
.getResponse();
os = response.getOutputStream();
bis = new BufferedInputStream(is);
bos = new BufferedOutputStream(os);
fileName = java.net.URLEncoder.encode(fileName, "UTF-8");// 处理中文文件名的问题
// fileName = new String(fileName.getBytes("UTF-8"), "GBK");// 处理中文文件名的问题
response.reset();
response.setCharacterEncoding("UTF-8");
response.setContentType("application/ vnd.ms-excel");// 不同类型的文件对应不同的MIME类型
response.setHeader("Content-Disposition",
"attachment; filename=" + fileName);
int bytesRead = 0;
byte[] buffer = new byte[1024];
while ((bytesRead = bis.read(buffer)) != -1) {
bos.write(buffer, 0, bytesRead);// 将文件发送到客户端
}
bos.flush();
}
} catch (Exception e) {
logger.error(e.getMessage(), e);
} finally{
IOUtils.closeQuietly(bis);
IOUtils.closeQuietly(bos);
IOUtils.closeQuietly(is);
IOUtils.closeQuietly(os);
}