当前位置: 首页 > article >正文

纯前端实现表格中的数据导出功能-使用xlsx和file-saver

通过npm导入XLSX和file-saver包 通过import导入

import XLSX from 'xlsx'
import FileSaver from 'file-saver'
//导出excel--(导出描述和显示值列)
exportEvent() {
  const downloadData = []
  this.tableData.forEach(item => {
    downloadData.push({
      '描述': item.description,
      '显示值': item.yValue,
      '导出时间':this.$dayjs(new Date()).format('YYYY-MM-DD HH:mm:ss')
    })
  })
  this.downloadExcel(downloadData)
},
//下载表格数据
downloadExcel(downloadData) {
  const worksheet = XLSX.utils.json_to_sheet(downloadData)
//创建工作簿并且添加工作表
  const workbook = XLSX.utils.book_new()
  XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1')
  //设置列宽
  const columnWidths = [
  { wch: 20 }, // 第一列宽度为20个字符宽度
  { wch: 10 }, // 第二列宽度为10个字符宽度
  { wch: 25 }  // 第三列宽度为25个字符宽度
  // 根据需要添加更多列宽配置
]
// 将列宽应用到工作表中
if (worksheet['!cols'] == null) worksheet['!cols'] = []
worksheet['!cols'] = columnWidths

//将工作簿转未Blob对象
  const excelBuffer = XLSX.write(workbook, {
    bookType: 'xlsx',
    type: 'array'
  })
  const blob = new Blob([excelBuffer], { type: 'application/vnd.ms-excel' })
  FileSaver.saveAs(blob, '表名') // 下载文件 文件名
}

http://www.kler.cn/a/514407.html

相关文章:

  • GDB相比IDE有什么优点
  • Swift语言的学习路线
  • Visual Studio2019调试DLL
  • Golang Gin系列-5:数据模型和数据库
  • 使用Websocket进行前后端实时通信
  • 即现软著工具 - 让软著申请更高效
  • 【大数据】机器学习----------计算机学习理论
  • OpenHarmony OTA升级参考资料记录
  • 路由重分布
  • Hack The Box-Starting Point系列Vaccine
  • 【机器学习实战中阶】使用SARIMAX,ARIMA预测比特币价格,时间序列预测
  • LINUX下设置分离状态(Detached State)和未设置分离状态的主要区别在于线程资源的管理方式和线程的生命周期。以下是两种状态的对比:
  • 1.21学习
  • Ceisum无人机巡检直播视频投射
  • SpringCloud学习笔记【尚硅谷2024版】
  • 2025年1月19日(舵机VCC)
  • vue3切换路由后页面不报错显示空白,刷新后显示正常
  • 鸿蒙产业学院正式揭牌!软通动力与深信息签署校企合作框架协议
  • Postgresql源码(141)JIT系列分析汇总
  • HDFS的Shell操作
  • 【愚公系列】《微信小程序与云开发从入门到实践》059-迷你商城小程序的开发(加入购物车与创建订单功能开发)
  • c++ 与 Matlab 程序的数据比对
  • 【Docker】 privileged: true:允许容器获得比默认更高的权限
  • JavaScript正则表达式解析:模式、方法与实战案例
  • 基于微信小程序高校订餐系统的设计与开发ssm+论文源码调试讲解
  • 【2024年华为OD机试】 (E卷,200分)-通过软盘拷贝文件(JavaScriptJava PythonC/C++)