el-tabe 配合 xlsx 导出 excel 文件

一、安装依赖

bash 复制代码
pnpm add element-plus
bash 复制代码
pnpm add xlsx

二、在 main.js 引入

javascript 复制代码
import { createApp } from "vue";

import ElementPlus from "element-plus";

import "element-plus/dist/index.css";

import App from "./App.vue";



const app = createApp(App);

app.use(ElementPlus);

app.mount("#app");

三、使用 xlsx 导出

javascript 复制代码
<template>

  <div>

    <el-button type="primary" @click="exportExcel">导出Excel</el-button>

    <el-table :data="tableData" border style="width: 100%">

      <el-table-column prop="name" label="姓名" width="180"></el-table-column>

      <el-table-column prop="age" label="年龄" width="180"></el-table-column>

      <el-table-column prop="gender" label="性别" width="180"></el-table-column>

    </el-table>

  </div>

</template>

<script setup>

  import { ref } from "vue";

  import XLSX from "xlsx";

  // 模拟表格数据,实际中可以是从接口获取等来源的数据

  const tableData = ref([

    { name: "张三", age: 25, gender: "男" },

    { name: "李四", age: 30, gender: "女" },

    { name: "王五", age: 28, gender: "男" },

  ]);

  const exportExcel = () => {

    const worksheet = XLSX.utils.json_to_sheet(tableData.value);

    const workbook = XLSX.utils.book_new();

    XLSX.utils.book_append_sheet(workbook, worksheet, "Sheet1");

    XLSX.writeFile(workbook, "人员信息表.xlsx");

  };

</script>

<style scoped></style>
相关推荐
铁皮饭盒6 分钟前
用 Bun.cron 定时 7 月 7 日,为啥? 看图1
javascript
格子软件2 小时前
2026年GEO贴牌代理:分布式多级分账状态机源码深度解构
java·vue.js·分布式·vue·geo
之歆2 小时前
Vue商品详情与放大镜组件
前端·javascript·vue.js
丹宇码农6 小时前
把 HLS 字幕玩出花:zwPlayer 如何让 M3U8 视频支持全文搜索、翻译与码率自适应
前端·javascript·音视频·hls·视频播放器
GuWenyue7 小时前
提示词彻底过时?一套上下文工程方案,3步让LLM落地生产,代码直接复用
前端·javascript·人工智能
奶油mm8 小时前
公司技术债堆积如山,我一人之力用 Vue3 偷换了整个前端架构
前端·vue.js
用户938515635078 小时前
深入理解 JavaScript 中的 this 与数据存储的奥秘
前端·javascript
Tian_Hang8 小时前
eclipse ditto 学习笔记
运维·服务器·开发语言·javascript·3d
格子软件10 小时前
2026年分布式GEO代理流量调度:源码级状态机防重挂实战
java·vue.js·人工智能·spring boot·分布式·vue
竹林81811 小时前
用 Pinata + IPFS 存 NFT 元数据踩了三天坑,我总结了这份完整的前端实现方案
javascript