java 下载CSV文件没有弹出保存框,直接在IE显示了。在线等啊,求大神帮忙解决下。
Map map = JsonParser.json2Map(xmlData);
URL url = URLUtil.getWebFileUrl(ConfigureParser.getInstance()
.getAttribute("filePath"));
String reportPath = url.getPath() + "/";
String reportName =null;
String sheetName = null;
File f = new File(reportPath, "excel");
if (!f.exists() && !f.isDirectory()) {//判断路径目录是否存在,判断是不是目录文件
f.mkdir();//不存在的话就创建file路径的目录
}
Calendar c = Calendar.getInstance();
c.add(c.SECOND,0);
String timeName = ""+c.get(c.YEAR)+(c.get(c.MONTH)+1)+c.get(c.DATE)
+c.get(c.HOUR_OF_DAY)+c.get(c.MINUTE)+c.get(c.SECOND);
reportName= "AnimalTongJi" + timeName + ".csv";
sheetName = "母猪状态统计";
String reportDir = reportPath + "excel/" + reportName;
reportDir=reportDir.replaceAll("%20", " ");
// 判断文件是否存在
File file = new File(reportDir);
if(file.exists())file.delete();//存在则删除
String displayName = null;
try {
displayName = URLEncoder.encode(reportName, "UTF-8");
} catch (UnsupportedEncodingException e1) {
e1.printStackTrace();
}
// HttpServletResponse response;
// response.setHeader("Content-disposition","inline;filename="+templateName);
HttpServletResponse response = ServletActionContext.getResponse();
response.reset();
response.setHeader("Cache-Control", "Public");
response.setContentType("application/msexcel");
// response.setContentType("application/ms-excel");
// response.setContentType("application/unknow");
// response.setHeader("Cache-Control", "Public");
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-disposition","inline;filename="+displayName);
List list = stasticsService.getNDExcelBasic(xmlData);
Object[] map1 =null;
map1 = (Object[]) list.get(0);
int size = map1.length;
String result = "";
try {
FileOutputStream fos = new FileOutputStream(file,true);
OutputStreamWriter osw = new OutputStreamWriter(fos);
BufferedWriter bw = new BufferedWriter(osw);
for (int i = 0; i < list.size(); i++) {
map1=(Object[]) list.get(i);
for (int j = 0; j < map1.length; j++) {
if(map1[j]!=null){
result +=map1[j];
}
result +=",";
}
result += "\r\n";
if(i%2000==0){
bw.write(result);
result ="";
}
}
bw.write(result);
bw.newLine();
bw.flush();
bw.close();
osw.close();
fos.close();
}
catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (IOException e2) {
e2.printStackTrace();
}
this.print("{'name':" + timeName + "}");
return XML;