vite+xlsx-style表格导出样式设置报错

项目是vite+vue3 , 前端表格导出,使用xlsx可以导出基本表格,但是想要设置表格样式,引入xlsx-style,安装依赖,后引入报错

引用

import { utils } from "xlsx"

import { write } from "xlsx-style"

Could not resolve "./cptable"

node_modules/xlsx-style/dist/cpexcel.js:807:24:
807 │ var cpt = require('./cpt' + 'able');

在网上搜了下,解决方法基本都是两种

一是修改安装依赖包

根据提示找到该js文件在807行做修改。将var cpt = require(’./cpt’ + ‘able’)改成var cpt = cptable

二是修改vue.config.js配置

module.exports = {

    chainWebpack(config) {
        config.externals({ './cptable': 'var cptable' })
    }
}

但是我的项目是vite+vue3,没有这个配置文件

尝试修改了导出方式,结果有更多错误,后面找到了可以兼容vite项目的安装包 xlsx-style-vite

安装依赖 yarn add xlsx-style-vite -D

项目中引入

import { utils } from "xlsx"
import XLSXStyle from "xlsx-style-vite"
import { saveAs } from "file-saver"

  const wsName = "sheet1"
  const wb = utils.book_new()
  const ws = utils.aoa_to_sheet(exportData)
  utils.book_append_sheet(wb, ws, wsName)
  const buffer = XLSXStyle.write(wb, {
    bookType: "xlsx",
    bookSST: false,
    type: "binary",
  })
  saveAs(
    new Blob([s2ab(buffer)], { type: "application/octet-stream" }),
    `${fileName}.xlsx`
  )

这样就可以使用了

这里只截取了部分表格导出方法,如果有需要看表格导出表格样式设置的,请看这一篇博客

来源: https://www.cnblogs.com/steamed-twisted-roll/p/18130145

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值