怎样才能点击“导出”那个超链接之后, IE就会弹出一个提示框,询问你是要保存还是要打开这个Excel文件。
请各位大侠赐教

解决方案 »

  1.   

    String localPath = ServletActionContext.getServletContext()
    .getRealPath("/template")
    + "/"; File imageFile = new File(localPath + fileName);// 获取文件路径 // 读取excel表头信息
    Workbook book = Workbook.getWorkbook(imageFile);
    Sheet workSheet = book.getSheet(0);
    String sheetName = "";
    sheetName = fileName.substring(0,fileName.lastIndexOf("."));

    int rows = workSheet.getRows();
    int cols = workSheet.getColumns();
    String param[] = new String[cols];
    String rowParam[] = new String[rows]; // 创建excel文件
    response.setContentType("application/ms-excel");
    // 这里解释一下
    // attachment; 这个代表要下载的,如果去掉就编程直接打开了
    // filename是文件名,另存为或者下载时,为默认的文件名
    response.addHeader("Content-Disposition", "attachment; filename="
    + new String(sheetName.getBytes("GBK"), "ISO-8859-1")
    + ".xls");
    OutputStream os = response.getOutputStream();
    WritableWorkbook wwb = Workbook.createWorkbook(os);
    WritableSheet writeSheet = null;关键的地方 获取数据写excel的就不用发了吧
      

  2.   

    记得我回复过这样的帖子的:
    我大概是这么实现的 在目录下新建个文件夹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" />
      

  3.   

    字节流直接输出到response上,代码自己百度
      

  4.   

    那就是一个IE的下载对话框,我把弹出IE下载对话框的代码贴出来
    protected void downloadExcel(HSSFWorkbook workbook, HttpServletResponse response, String filename)throws IOException {        OutputStream out = response.getOutputStream();
    response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode(filename, "UTF-8"));
    response.setContentType("application/msexcel;charset=UTF-8");
    workbook.write(out);

    //out.flush();
    out.close();
    }HSSFWorkbook workbook:这个参数,如果你是用的poi这个jar包做导出,你知道是要传什么对象的参数。
    HttpServletResponse response:那这个,你更知道,就是一个响应对象,用于响应客户端的请求。
    String filename:这个就是文件名,要它的目的是,在弹出下载框的时候就会看见文件类型、文件名。filename只要文件名不要它的路径。