开发指南007-导出Excel

平台上开发导出Excel比过去的单体架构要复杂些,因为前端和后台不在一个进程空间里。

后台的操作是先生成excel文件,技术路线是jxl

java 复制代码
<dependency>
    <groupId>net.sourceforge.jexcelapi</groupId>
    <artifactId>jxl</artifactId>
    <version>2.6.12</version>
</dependency>

具体如何使用,请自行查询网络。

生成文件后,需要调用org.qlm.util.downFileUtil:

复制代码
public static void downFile(String filepath, String fileName, HttpServletResponse response, HttpServletRequest request)

其中·filepath为上述生成的excel文件的位置

filename为客户端下载后的文件名

前端处理:

javascript 复制代码
export function deriveExcelFile(data) {
    const RequestInfo = {
        version: "1.0",
        consumer: store.getters.QLMConfig.application_id,
        language: store.getters.language,
        serialNo: uuid.v1(),
        ...data
    };
    return request({
        url: store.getters.QLMConfig.qlm_gateway_url + service + "/deriveExcelFile",
        method: "get",
        params: RequestInfo,
        responseType:'arraybuffer',       
  });
}

写法和调用其他接口一样,只是增加一句responseType 这个和后台的downFile函数配合获取到excel文件的二进制流。获取二进制流后需要前端转换为文件,需要调用前端底层函数

import { showXLS } from '@/utils/qlm_commonfuns'

相关推荐
愤怒的代码18 分钟前
简析 Kotlin 内联函数:与inline相关的关键字
android·java·kotlin
用针戳左手中指指头18 分钟前
Spring源码篇(十三)循环依赖
java·后端·spring·循环依赖·相互依赖
To Be Clean Coder19 分钟前
【Spring源码】getBean源码实战(五)——MergedBean
java·后端·spring
!chen35 分钟前
Excel高性能异步导出完整方案
excel
SimonKing37 分钟前
局域网内跨平台传文件,没有比LocalSend更方便的了
java·后端·程序员
超级小龙虾37 分钟前
VS Code 本身没有内置像 IntelliJ IDEA 那样的完整书签(Bookmarks)
java
万物挽挽1 小时前
单例模式的优点和缺点分别是什么?
java
Katherine_lin1 小时前
基于Spring Boot的抽奖系统测试报告
java·spring boot·后端
C_lea1 小时前
Java多线程学习(一)
java·学习
萧曵 丶1 小时前
Java 线程池优化
java·开发语言