vue+element导出excel,并修改样式

本文介绍如何在Vue项目中结合Element库来实现Excel文件的导出,并详细说明了在导出过程中遇到的`xlsx-style`报错问题,提供了两种解决方案,以及最后的使用方法。
摘要由CSDN通过智能技术生成

1、引入

import FileSaver from 'file-saver'
import XLSX2 from 'xlsx'
import XLSX from "xlsx-style";

2、报错

安装npm install –save xlsx-style会报错:
This relative module was not found: ./cptable in ./node_modules/xlsx-style@0.8.13@xlsx-style/dist/cpexcel.js

解决 方法一:

可以直接修改源代码: 在\node_modules\xlsx-style\dist\cpexcel.js 807行; 
将var cpt = require(./cpt’ + ‘able’); 
改成var cpt = cptable;

解决 方法二:

vue.config.js文件中修改:
module.exports = {
   
lintOnSave: false,
css: {
   
loaderOptions: {
   
sass: {
   
data: @import "~@/styles/variables.scss";
}
}
},
chainWebpack: config => {
   
//在 chainWebpack 添加下面的一段代码
config.externals({
   ./cptable”:var cptable” });**
},
devServer: {
   }
};

3、使用

setExport2Excel() {
   
const $e = this.$refs['listTable'].$el
let $table = $e.querySelector('.el-table__fixed')
if (!$table) {
   
$table = $e
}    
const wb = XLSX2.utils.table_to_sheet($table, {
   
      raw: true
    })
    console.log(wb)
    if (!wb['!merges']) {
   
      this.$message.warning('无法导出:报表无数据');
      return
    }
    for (var i = 0; i < 11; i++) {
   
      wb["!cols"
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值