FastExcel 本地开发和Linux上上传Resource文件的差异性

不能直接通过路径来获取

这个是一个下载导出文件的操作

java 复制代码
@GetMapping(value = "/export/all")
public void exportAll(HttpServletResponse response, LaylineListReq req) throws IOException {
    // 从类路径下获取 Excel 文件资源
    ClassPathResource classPathResource = new ClassPathResource("template/放线表主数据导入系统模板_template.xlsx");
    // 获取文件输入流
    InputStream inputStream = classPathResource.getInputStream();

    String fileName = "xxx"

    fileName = URLEncoder.encode(fileName, "UTF-8").replaceAll("\\+", "%20");
    response.setCharacterEncoding("UTF-8");
    response.setContentType("application/vnd.ms-excel");
    response.setHeader("Content-Disposition", "attachment;filename=" + fileName + ".xlsx");
    response.setHeader("Access-Control-Expose-Headers", "Content-Disposition");

    EasyExcel.write(response.getOutputStream())
            .withTemplate(inputStream)
            .sheet()
            .doFill(list);
}

获取填充模版也需要先转换成 inputStream,不能照着官方的写法读取文件,下面是官方的写法,可以对比一下

相关推荐
weixin_7275356240 分钟前
MinIO大文件上传深度拆解:从原理到生产落地的完整指南
java·中间件
摇滚侠1 小时前
Java 全栈开发实战教程 课程笔记 34-36
java·笔记
芝士熊爱编程1 小时前
创建型模式-单例模式
java·单例模式·设计模式
大模型码小白1 小时前
Spring AI 框架实战:Java 后端集成大模型的架构设计与工程落地
java·人工智能·python·spring
weixin_BYSJ19872 小时前
「课设设计」springboot校园超市助购系统26449 (附源码)
java·javascript·spring boot·python·django·flask·php
栋***t2 小时前
从“纸质试卷”到“AI智能组卷”,麦塔在线考试系统如何重构出题逻辑?
java·大数据·人工智能·算法·重构
CHANG_THE_WORLD2 小时前
深入理解递归:从函数调用到调用栈的完整执行过程
java·开发语言·算法
xexpertS2 小时前
CI/CD 熔断机制:如何通过编排级熔断器提升开发者效率
java·linux·运维
zy happy3 小时前
VMware虚拟机添加新的硬盘
java·linux·jvm·docker
AI人工智能+电脑小能手3 小时前
【大白话说Java面试题 第192题】【08_Kafka篇】第8题:死信队列是什么?延时队列是什么?
java·kafka·消息队列·死信队列·延时队列