Title
Logan港
细节决定成败,知识改变命运。
posts - 21,comments - 0,views - 20642

前 言:

 此篇介绍的只是在服务器上将模板下载下来,不设计数据的处理,后续在发布一版关于数据处理导出的。

前端代码

<button type="button" onclick="excelExport()" class="layui-btn layui-btn-small">模板下载</button>

按钮点击调用

  function excelExport() {
    window.location.href = "/prisoner/exportTemplateExcel";
  }

后端java接口

    @RequestMapping(value = "/exportTemplateExcel", method= RequestMethod.GET)
    @ResponseBody
    public void exportTemplateExcel(HttpServletRequest request , HttpServletResponse response) throws IOException {

        // 获取固定Excel文件作为输入流 (参数为配置的模板路径)
        InputStream in = this.getClass().getResourceAsStream("/static/template/fxrymm.xlsx");
        OutputStream toClient = null;
        byte[] buffer;
        try {
            // 获取导出文件的字节数组
            ByteArrayOutputStream outStream = new ByteArrayOutputStream();
            byte[] buffer1 = new byte[1024];
            int len = 0;
            while ((len = in.read(buffer1)) != -1) {
                outStream.write(buffer1, 0, len);
            }
            in.close();
            buffer = outStream.toByteArray();

            // 导出Excel
            if (null != buffer && buffer.length > 0) {
                // 清空response
                response.reset();
                // 设置response的Header
                response.addHeader("Content-Disposition",
                        "attachment;filename=" + new String(("服刑人员模板.xlsx").getBytes("GBK"), "ISO8859_1"));
                response.addHeader("Content-Length", "" + buffer.length);
                toClient = response.getOutputStream();
                response.setContentType("application/octet-stream");
                toClient.write(buffer);
                toClient.flush();
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if(toClient != null){
                toClient.close();
            }
            if(in != null){
                in.close();
            }
        }

    }
posted on   Logan港  阅读(464)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示