String file = "..\\..\\search\\files\\kpinvoice_"+UserName+"_"+now+".csv";//导出数据
if(OutPutCsv.dataExport(request,path,file,Language,es)){
session.removeAttribute("sql");
out.println("导出数据成功!/export ok.");
out.println("<P><A HREF="+file+">点击下载数据文件 / Click to download the data file.</A>");
out.println("<tr><td colspan=3 align=right ><hr></td></tr>");
out.println("对着链接点击右键,将  目标另存为...");

}else{
out.println("导出数据失败! / export fail.");
}还有需要补充的地方请说!!

解决方案 »

  1.   

    导出数据成功!/export ok. 点击下载数据文件 / Click to download the data file. (这里是链接)我点击链接后,数据全部都显示在页面上了。没办法下载下来
      

  2.   

    如果你是用tomcat的话,可以尝试修改tomcat目录中的 conf/web.xml里面有很多的mime-mapping节点。搜一下,看看有没有csv。如果没有,加入下面的这段<mime-mapping>
      <extension>csv</extension>
      <mime-type>application/x-msdownload</mime-type>
    </mime-mapping>目的是让tomcat在发送文件头的时候加个head进去,便于浏览器识别这个文件的格式是什么的,用什么方式打开。你写成application/x-msdownload,相当于告诉浏览器,这个文件是用下载的,而不是直接打开。其实这也就是ie自作聪明,firefox就没这样的问题。====================上面的方法也有可能无效。那么,自己做个servlet提供下载。具体方法我就不讲了,好大一段。你自己看吧。我也是随便搜到的。注意看最后的那一段关于文件下载的。http://csdn.8tops.com/F527FD64B0DE4FABBB1FAEA9F149F35B_csdn最主要的就是要添加发送头,类似response.setContentType("application/x-msdownload");
    response.setHeader("Content-Disposition", "attachment; filename=" + f.getName());