Vue导出Excel

Excel 的导入导出都是依赖于js-xlsx来实现的。

在 js-xlsx的基础上又封装了Export2Excel.js来方便导出数据。
使用
由于 Export2Excel不仅依赖js-xlsx还依赖file-saverscript-loader

所以你先需要安装如下命令:

npm install xlsx file-saver -S
npm install script-loader -S -D

由于js-xlsx体积还是很大的,导出功能也不是一个非常常用的功能,所以使用的时候建议使用懒加载。使用方法如下:

import('@/vendor/Export2Excel').then(excel => {
  excel.export_json_to_excel({
    header: tHeader, //表头 必填
    data, //具体数据 必填
    filename: 'excel-list', //非必填
    autoWidth: true, //非必填
    bookType: 'xlsx' //非必填
  })
})

注意 v3.9.1+

在v3.9.1+以后的版本中移除了对 Blob 的兼容性代码,如果你还需要兼容很低版本的浏览器可以手动引入blob-polyfill进行兼容。

比如你给按钮添加点击事件导出:
此时需要注意data数据的类型 data:[ [],[],[],[] ] , 需要注意对数据的处理

handleDownload() {
            this.downloadLoading = true;
            //表头
            const tHeader = {
                角色Id: "id",
                日期: "created_at",
                角色: "name",
                描述: "description",
            };
            const filterVal = [
                "timestamp",
                "title",
                "type",
                "importance",
                "status",
            ];
            //对数据中需要导出的字段进行遍历形成新的二维数据,然后进行导出
            const data = this.rolesData.map((item) => {
                return [item.id, item.created_at, item.name, item.description];
            });
         
            import("@/vendor/Export2Excel")
                .then((excel) => {
                    excel.export_json_to_excel({
                        header: Object.keys(tHeader), //表头 必填
                        data, //具体数据 必填
                        filename: "role-list", //非必填
                        autoWidth: true, //非必填
                        bookType: "xlsx", //非必填
                    });
                    this.downloadLoading = false;
                })
                .catch((err) => {
                    this.$message({
                        type: "error",
                        message: "导出失败",
                    });
                    this.downloadLoading = false;
                });
        },
上一篇:.NET Core(C#) EPPlus创建Excel(.xlsx)写入数据的方法及示例代码


下一篇:.NET Core(C#) EPPlus读取Excel(.xlsx)文件的方法及示例代码