我在jsp中做了一个excel导出的按纽,点机后回弹出一个对话框,可以直接打开,或者保存,保存没有问题,打开就回报找不到文件.
<%!
private void setResponse(HttpServletResponse response,String mime,String name,String ext){
response.setContentType(mime+";charset=gbk");
if(name!=null){
StringBuffer contentDisposition = new StringBuffer("\"attachment; filename=\""); contentDisposition.append(name).append(ext);
response.setHeader("Content-disposition",contentDisposition.toString());

}
}
%><%
setResponse(response,"text/plain","downkm2yyksqd",".xls");
try {
in=new FileInputStream(fileName);
outPutStream=response.getOutputStream();
int b;
while((b=in.read())!=-1){
outPutStream.write(b);
}
in.close();
outPutStream.flush();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}%>

解决方案 »

  1.   

    應該是文件路徑問題,如果發布後是war文件,可以把war解壓為一文件夾發布試一下。
      

  2.   

    我刚好也要做导出EXCEL  请问导出的代码就这些吗?需要导入哪些JAR包 
    万分感激啊~1
      

  3.   

    没有发布成war文件,我在本机里面测就有问题
      

  4.   

    导入一个jxl包,还有别的代码,我发的是excel下载的,还有写入的就没发出来
      

  5.   

    我在tomcat下测的就是在文件夹下
      

  6.   

    response.reset();
    setResponse(response,"application/octet-stream","downkm2yyksqd",".xls");
    如果文件名是中文,注意转化编码