Web导出Excel表格

背景:

  1. 后端主导实现

流程:前端调用到导出excel接口 -> 后端返回excel文件流 -> 浏览器会识别并自动下载

场景:大部分场景都有后端来做

  1. 前端主导实现

流程:前端获取要导出的数据 -> 常规数据用插件处理成一个excel文件 -> 浏览器下载

场景:少数据量的导出

效果图 :

使用三方插件做需求

  1. 不考虑具体业务 实现一个能跑起来最简单的DEMO [基础环境 + 基础效果]
  2. 在基础DEMO基础上按照实际的业务数据去做对应的修改
TypeScript 复制代码
pnpm i xlsx
pnpm i @types/xlsx
TypeScript 复制代码
import { utils, writeFileXLSX } from 'xlsx'

const exportToExcel = ()=>{
  // 1. 创建一个新的工作簿
  const workbook = utils.book_new()
  // 2. 创建一个工作表 要求一个对象数组格式(可以根据需要创建多个)
  const worksheet = utils.json_to_sheet(
    [
      { name: '张三', age: 18 },
      { name: '李四', age: 28 }
    ]
  )
  // 3. 把工作表添加到工作簿  Data为工作表名称
  utils.book_append_sheet(workbook, worksheet, 'Data')
  // 改写表头
  utils.sheet_add_aoa(worksheet, [['姓名', '年龄']], { origin: 'A1' })
  // 4. 导出方法进行导出
  writeFileXLSX(workbook, '计费规则表.xlsx')
}

<el-button @click="exportToExcel">导出Excel</el-button>
相关推荐
程序员小寒2 分钟前
前端性能优化之CSS篇
前端·css·性能优化
种时光的人9 分钟前
关于人人开源框架renren-fast-vue前端npm install安装报错的问题解决方法
前端·vue.js·npm
zero13_小葵司25 分钟前
JavaScript性能优化系列(八)弱网环境体验优化 - 8.2 离线支持:Service Worker实现基本离线功能
开发语言·javascript·性能优化
Z***258032 分钟前
React增强现实案例
前端·react.js·ar
IT_陈寒1 小时前
SpringBoot 3.2 性能优化全攻略:7个让你的应用提速50%的关键技巧
前端·人工智能·后端
GoFly开发者1 小时前
使用AES加解密在vue3前端加密、Golang后端解密实战教程(后端框架可以为Gin、Goframe等框架使用)
vue.js·aes加密vue·aes解密go
普通码农1 小时前
Vue-Konva 使用(缩放 / 还原 / 拖动) 示例
前端·javascript·vue.js
renxhui1 小时前
Flutter 布局 ↔ Android XML 布局 对照表(含常用属性)
前端
俺叫啥好嘞2 小时前
日志输出配置
java·服务器·前端
一 乐2 小时前
运动会|基于SpingBoot+vue的高校体育运动会管理系统(源码+数据库+文档)
java·前端·javascript·数据库·vue.js·学习·springboot