vue中使用数据导出功能

这篇博客介绍了在 Vue 项目中如何实现数据导出为 Excel 文件的功能。通过在 webpack 配置中添加 excel 相关路径,然后在 Vue 组件中使用 export2Excel 方法,结合 Blob.js 和 Export2Excel.js 源代码,实现表格数据的导出。内容包括导出按钮的触发事件、数据转换、调用导出方法和源代码示例。

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

1.下载依赖包:
    npm install -S file-saver xlsx
    npm install -D script-loader

2.webpack.base.conf.js中添加配置

      'scss_vars': '@/styles/vars.scss',

      'excel': path.resolve(__dirname, '../src/excel'), //文件路径(src下创建excel文件夹放置Blob.js和Export2Excel.js)

  

3.使用:代码放置位置

template:

      <el-button @click="outExe()">导出</el-button>

      

methods:

outExe() {

this.$confirm("此操作将导出excel文件, 是否继续?", "提示", {

confirmButtonText: "确定",

cancelButtonText: "取消",

type: "warning"

})

.then(() => {

this.excelData = this.demoData; //导出的数据list。

this.export2Excel();

})

.catch(() => {});

},

export2Excel() {

var that = this;

require.ensure([], () => {

const { export_json_to_excel } = require("../../excel/Export2Excel.js"); //必须使用绝对路径

const tHeader = ["信息", "信息2", "信息3", "信息4", "信息5", "信息6"]; // 标题

const filterVal = ["msg1", "msg2", "msg3", "msg4", "msg5", "msg6"]; // 导出的字段名

const list = that.demoData;

const data = that.formatJson(filterVal, list);

export_json_to_excel(tHeader, data, `excel`);

});

},

formatJson(filterVal, jsonData) {

return jsonData.map(v => filterVal.map(j => v[j]));

}

 

附加-附加-附加:Blob.js和Export2Excel.js源代码

 

Blob.js:源代码

(function (view) {

"use strict";

 

view.URL = view.URL || view.webkitURL;

 

if (view.Blob && view.URL) {

try {

new Blob;

return;

} catch (e) {}

}

 

// Internally we use a BlobBuilder implementation to base Blob off of

// in order to support older browsers that only have BlobBuilder

var BlobBuilder = view.BlobBuilder || view.WebKitBlobBuilder || view.MozBlobBuilder || (function(view) {

var

get_class = function(object) {

return Object.prototype.toString.call(object).match(/^\[object\s(.*)\]$/)[1];

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kyunsoo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值