用的是这种方法:
response.setContentType("application/msexcel");
response.setHeader("Content-disposition","inline; filename=test.xls");
难道这种方法有什么BUG吗??
response.setContentType("application/msexcel");
response.setHeader("Content-disposition","inline; filename=test.xls");
难道这种方法有什么BUG吗??
response.setContentType("application/msexcel");
response.setHeader("Content-disposition","inline; filename=" + new String(filename.getBytes("ISO-8859-1")));
急啊!继续等待解决办法。
顺便说一下,我的JSP中用的是这个:
<%@ page language="java" contentType="text/html;charset=GBK" %>
String filename = "测试.xls";
response.setContentType("application/msexcel");
response.setHeader("Content-disposition","inline; filename=" + new String(filename.getBytes(), "ISO-8859-1"));
String specialtimes_bak = "";
String specialfees_bak = "";
// String TMP1 = "Date";
// String TMP2 = "Total";
// String TMP3 = "Times";
// String TMP4 = "Fees(yuan)";
String TMP1 = "日期";
String TMP2 = "总量";
String TMP3 = "次数";
String TMP4 = "金额(元)";
//String filename = "导出.xls";
ArrayList al=(ArrayList)session.getAttribute("ResultSession");
response.setContentType("application/msexcel");
//response.setHeader("Content-disposition","inline; filename="+ new String(filename.getBytes(), "ISO-8859-1"));
response.setHeader("Content-disposition","inline; filename=test.xls");
out.clear();
out.println("<table border='1'>");
if("0".equals(spindex)){
out.println("<tr><td rowspan=\"2\">SP<br></td>");
}
if(!checkflag.equals("2")){
out.println("<td rowspan=\"2\">"+TMP1+"</td>");
}
out.println("<td colspan=\"2\">"+TMP2+"</td>");
for(int m=0;m<arryopmode.size();m++){
tempmap = (HashMap)arryopmode.get(m);
opermodenum = (String)tempmap.get("opermode");
out.println("<td colspan=\"2\">"+QueryUtil.transOperMode(Integer.parseInt(opermodenum))+"</td>");
}
out.println("</tr><tr>");
for(int m=0;m<=arryopmode.size();m++){
out.println("<td>"+TMP3+"</td><td>"+TMP4+"</td>");
}
out.println("</tr>");
for (int i = 0; i <al.size(); i++) {
map_bake = (HashMap)al.get(i);
out.println("<tr>");
if("0".equals(spindex)){
out.println("<td>"+QueryUtil.isNull(map_bake.get("spname"),"0")+"</td>");
}
if(!checkflag.equals("2")){
out.println("<td>"+QueryUtil.isNull(map_bake.get("statdate"),"0")+"</td>");
}
out.println("<td>"+QueryUtil.isNull(map_bake.get("sumtimes"),"0")+"</td>");
out.println("<td>"+CrbtUtil.displayFee(QueryUtil.isNull(map_bake.get("sumfee"),"0"))+"</td>");
for(int k=0;k<arryopmode.size();k++){
tempmap = (HashMap)arryopmode.get(k);
opermodenum = (String)tempmap.get("opermode");
specialtimes_bak = opermodenum+"_statcode";
specialfees_bak = opermodenum+"_ringfee";
out.println("<td>"+QueryUtil.isNull(map_bake.get(specialtimes_bak),"0")+"</td>");
out.println("<td>"+CrbtUtil.displayFee(QueryUtil.isNull(map_bake.get(specialfees_bak),"0"))+"</td>");
}
out.println("</tr>");
}
out.println("</table>");
al.clear();
return;
´ÎÊı ½ğ¶î(Ôª) ´ÎÊı ½ğ¶î(Ôª) ´ÎÊı ½ğ¶î(Ôª) ´ÎÊı ½ğ¶î(Ôª) ´ÎÊı ½ğ¶î(Ôª)
³¤É³Ã÷Óî 2006.11 2 4 0 0 0 0 2 4 0 0
Áª¶¯ÄÉά 2006.11 2 4 0 0 2 4 0 0 0 0
±±¾©ĞǸñ 2006.11 2 4 0 0 2 4 0 0 0 0
¾©Ì© 2006.11 1 1 0 0 0 0 0 0 1 1
ºşÄÏÒƶ¯ 2006.11 1 4 0 0 1 4 0 0 0 0