Vue导出Excel表格信息

8 篇文章 2 订阅

一、安装两个依赖包

npm install -S file-saver xlsx

npm install -D script-loader

二、项目中新建一个文件夹

里面放置两个文件Blob.js和 Export2Excel.js。

请添加图片描述

同时注意Export2Excel里引用Blob的路径是否正确。

三、使用案例

3.1、使用注意事项

请添加图片描述

表头对应的键要和传过来的数据的键一一对应。

3.2、将表头和list的值合在一起
const data = _this.list.map(v => filterVal.map(j => v[j]))

这里要注意键值对要一一对应,否则为null,其中list是表格数据,是数组。里面有多个对象列表。将他们合并在一起。

3.3、将数据导出来
excel.export_json_to_excel(tHeader, data,'项目详情')  //表头,数据,导出名字  数据里要包含表头信息。
3.4、例子
handleDownload(){
    let _this = this
    const downAdminKeys_copy = Object.assign({}, downAdminKeys)
    this.$confirm("是否确认导出所有数据项?", "警告", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
    }).then(function () {
        _this.getData()
        console.log(downAdminKeys_copy)
        import('../../vendor/Export2Excel').then(excel=>{
            var tHeader = []
            var filterVal = []
            tHeader = Object.keys(downAdminKeys_copy)
            filterVal = Object.values(downAdminKeys_copy)
            const data = _this.list.map(v => filterVal.map(j => v[j]))
            excel.export_json_to_excel(tHeader, data,'项目详情')
        })
    }).catch(error=> {
        console.log(error)
    });
}

其中list的数据格式为:请添加图片描述

其中的downAdminKeys格式如下:

const downAdminKeys = { '项目编号': 'id', '项目名称': 'pjName', '生成时间': 'pjRegisterTime',
'省市区': 'pjCity','评估目的': 'pjPurpose','评估对象': 'pjObject','基准日': 'pjBaseDate',
'评估部门': 'pjDepartment','评估人员': 'pjAssessmentStaff','估价师1': 'pjValuer','估价师2': 'pjSecondValuer',
    '报告编号': 'pjReportNumber','项目状态': 'pjStatus',}

取downAdminKeys的键和值:

var tHeader = []
var filterVal = []
tHeader = Object.keys(downAdminKeys_copy)
filterVal = Object.values(downAdminKeys_copy)

四、加导出文件后缀年月日

生成年月日代码:年-月-日

var date = new Date()
var year = date.getFullYear() // 年
var month = date.getMonth() + 1 // 月
var strDate = date.getDate() // 日
if (month >= 1 && month <= 9) { month = '0' + month }
if (strDate >= 0 && strDate <= 9) { strDate = '0' + strDate }
const exportDate = year + '-' + month + '-' + strDate

Date <= 9) { strDate = ‘0’ + strDate }
const exportDate = year + ‘-’ + month + ‘-’ + strDate

本项目所需文件链接:https://wws.lanzoub.com/i7E4j0351c2j 密码:a0kh

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值