Easyexcel 导出模板

本文介绍如何在Java后端使用Easyexcel库导出Excel模板,并提供了在控制器中实现导出的方法,以及如何将模板文件交给前端进行路径配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 1.controller 里面的

@Value("${file.path}")
private String filePath;
//导出
@RequestMapping(value = "/downloadFile")
public void export2Web(String name, HttpServletResponse response, HttpServletRequest request) {
    try {

        String fileName="";
        switch (name){
            case "sf":
                fileName=filePath+"顺丰模板.xlsx";
                break;
            case "db" :
                fileName=filePath+"德邦模板.xlsx";
                break;
            case  "cb":
                fileName=filePath+"成本模板.xlsx";
                break;
        }
        FileDownloadUtil fileDownloadUtil = new FileDownloadUtil();
        fileDownloadUtil.download(fileName,response,request);
    } catch (Exception e) {
    }
}

 2.需要的方法

public HttpServletResponse download(String path, HttpServletResponse response,HttpServletRequest request) {
        try {
            // path是指欲下载的文件的路径。
            File file = new File(path);
            // 取得文件名。
            String filename = file.getName();
            // 取得文件的后缀名。
            String ext = filename.substring(filename.lastIndexOf(".") + 1).toUpperCase();

            // 以流的形式下载文件。
            InputStream fis = new BufferedInputStream(new FileInputStream(path));
            byte[] buffer = new byte[fis.available()];
            fis.read(buffer);
            fis.close();
            // 清空response
            response.reset();
            // 设置response的Header
            filename=URLEncoder.encode(filename,"UTF-8");
            response.setContentType(request.getServletContext().getMimeType(filename));
            response.addHeader("Content-Disposition", "attachment;filename=" + filename);
            response.addHeader("Content-Length", "" + file.length());
            OutputStream toClient = new BufferedOutputStream(response.getOutputStream());
            response.setContentType("application/octet-stream");
            toClient.write(buffer);
            toClient.flush();
            toClient.close();
        } catch (IOException ex) {
            ex.printStackTrace();
        }
        return response;
    }

 

 3.然后再准备三个模板给到 前端 帮忙吧模板放到路径下面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值