java实现下载并选择保存路径

2021-04-14 00:00:00 选择 路径 保存

一、通过浏览器提供下载,使文件直接以流的形式响应客户端浏览器。不多说了,直接上代码吧。

 public void downloadExcel(HttpServletRequest request,HttpServletResponse response) throws RowsExceededException, WriteException, IOException {
        OutputStream os = response.getOutputStream();// 取得输出流
        response.reset();// 清空输出流
        response.setHeader(“Content-disposition”, “attachment; filename=testRed.xls”);// 设定输出文件头
        response.setContentType(“application/msexcel”);// 定义输出类型

        WritableWorkbook wbook = Workbook.createWorkbook(os); // 建立excel文件
        String tmptitle = “测试数据”; // 标题
        WritableSheet wsheet = wbook.createSheet(tmptitle, 0); // sheet名称

        // 设置excel标题
        WritableFont wfont = new WritableFont(WritableFont.ARIAL, 16, WritableFont.BOLD, false,
                                              UnderlineStyle.NO_UNDERLINE, Colour.BLACK);
        WritableCellFormat wcfFC = new WritableCellFormat(wfont);
        wcfFC.setBackground(Colour.AQUA);
        wsheet.addCell(new Label(1, 0, tmptitle, wcfFC));
        wfont = new jxl.write.WritableFont(WritableFont.ARIAL, 14, WritableFont.BOLD, false,
                                           UnderlineStyle.NO_UNDERLINE, Colour.BLACK);
        wcfFC = new WritableCellFormat(wfont);
        // 开始生成主体内容
        wsheet.addCell(new Label(0, 2, “姓名”));
        wsheet.addCell(new Label(1, 2, “邮箱”));
        // SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);

        Map<String, String> map = new HashMap<String, String>();
        map.put(“Red1”, “it_red@sina.com”);
        map.put(“Red2”, “it_red@sohu.com”);
        map.put(“Red3”, “it_red@163.com”);
        int count = 0;
        for (String key : map.keySet()) {
            wsheet.addCell(new Label(0, count + 3, key));
            wsheet.addCell(new Label(1, count + 3, map.get(key)));
            count++;
        }

        // 主体内容生成结束
        wbook.write(); // 写入文件
        wbook.close();
        os.close(); // 关闭流
    }
}

二、在jsp页面不支持使用ajax,最好使用

window.location.href=”后端路径”;的方式

    原文作者:Peter专栏
    原文地址: https://blog.csdn.net/u013770541/article/details/78593627
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。

相关文章