首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

哪位高手知道java的下载功能如何用

2012-05-04 
谁知道java的下载功能怎么用啊我jsp页面上有一个按钮,点击是将当前jsp页面上的表格导出为excel,我现在导出

谁知道java的下载功能怎么用啊
我jsp页面上有一个按钮,点击是将当前jsp页面上的表格导出为excel,我现在导出之后只能存在我自己服务器这里,怎么样可以将导出的文件不存在我这,直接保存到用户端的主机上呢,这应该属于一个下载的功能吧

[解决办法]
我大概是这么实现的 在目录下新建个文件夹excel 然后把你要导出的jsp页面复制一下在excel目录下 新的jsp文件里面需要加这段代码,当然进这个页面之前还是要进行后台查询的。具体看你用什么实现的了
java.text.SimpleDateFormat tempDate = new java.text.SimpleDateFormat(
"yyyyMMddHHmmss");
String time = tempDate.format(new Date());
String fileName = "订单信息_" + time + ".xls";
fileName = new String(fileName.getBytes("GBK"), "ISO8859_1");
response.setHeader("Content-Disposition", "attachment;filename="
+ fileName);

response.setDateHeader("Expires", 0);
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Pragma", "no-cache");


head中间加上这个 防止中文乱码
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
[解决办法]

Java code
    response.setContentType("application/msword;charset=utf-8");        try {            response.setHeader("Content-Disposition",                    "attachment;filename="+new String(wordName.getBytes("gbk"),"ISO8859_1"));        } catch (UnsupportedEncodingException e1) {            e1.printStackTrace();        }        BufferedInputStream bis = null;        BufferedOutputStream bos = null;        try {            bis = new BufferedInputStream(new FileInputStream("文件地址"));            bos = new BufferedOutputStream(response.getOutputStream());            int n = 0;            byte b[] = new byte[5 * 1024];            while ((n = bis.read(b)) != -1) {                bos.write(b, 0, n);            }        } catch (Exception e) {            e.printStackTrace();        } finally {            try {                bis.close();                bos.close();            } catch (Exception e) {            }        }
[解决办法]
Java code
String fileName = "数据转换表信息导出.xls";    if (request.getHeader("User-Agent").toLowerCase().indexOf("firefox") > 0) {        fileName = new String(fileName.getBytes("UTF-8"), "ISO8859-1"); // firefox浏览器    } else if (request.getHeader("User-Agent").toUpperCase()        .indexOf("MSIE") > 0) {        fileName = URLEncoder.encode(fileName, "UTF-8"); // IE浏览器    } else {        fileName = Utils.toUtf8String(fileName);    }    response.setHeader("Content-Disposition", "attachment;filename="        + fileName); 

热点排行