vue3 导出excl文件

后台管理系统经常有表格文件导出为excl的需求,在这里记录一下.

这里用到了两个包(file-server,XLSX), 今天项目中遇到这个需求了,但是用这个导出的时候出了问题,在安装的时候没有指定包版本,安装了最新版本,导致XLSX引入报undefined的问题,可能是新版本不兼容的问题

安装

npm install xlsx@0.16.0 file-saver@2.0.2 --save 

封装

复制代码
import FileSaver from "file-saver";
import xlxs from "xlsx";

// 导出excel
const state = reactive({
    excelTitle: "用户数据",
});
export const getExcel = () => {
    // 设置当前日期
    let time = new Date();
    let year = time.getFullYear();
    let month = time.getMonth() + 1;
    let day = time.getDate();
    let name = year + "" + month + "" + day;
    // 导出文件名
    const filename = state.excelTitle;
    // 通过id,获取导出的表格数据
    const wb = xlxs.utils.table_to_book(document.getElementById("table"), {
        raw: true,
    });
    const wbout = xlxs.write(wb, {
        bookType: "xlsx",
        bookSST: true,
        type: "array",
    });
    try {
        FileSaver.saveAs(
            new Blob([wbout], {
                type: "application/octet-stream",
            }),
            name + ".xlsx"
        );
    } catch (e) {
        console.log(e);
    }
    return wbout;
}
复制代码

 

posted @   YXCR  阅读(347)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示