vue3+element-plus - 最新详细实现将表格Table组件 “所见所得导出“ 为excel(xls/xlsx)电子表格文件,表格中的图片图像、图标等媒体资源完美导出显示(详细示例代码)

在Vue 3和Element Plus中实现“所见所得”的Excel导出功能,可以使用第三方库如xlsx来创建Excel文件,并结合Vue的方法来处理导出逻辑。以下是一个简化的实现示例:

  1. 安装xlsx库:



npm install xlsx file-saver
  1. 在Vue组件中使用xlsx库来导出表格数据为Excel文件:



<template>
  <el-button @click="exportTable">导出Excel</el-button>
  <el-table
    ref="table"
    :data="tableData"
    style="width: 100%">
    <!-- 表格列定义 -->
  </el-table>
</template>
 
<script setup>
import { ref } from 'vue';
import { saveAs } from 'file-saver';
import * as XLSX from 'xlsx';
 
const tableData = ref([
  // 表格数据
]);
 
const exportTable = () => {
  // 通过ref获取表格DOM元素
  const table = unref(table);
  // 使用Blob和createObjectURL创建下载链接
  const wb = XLSX.utils.table_to_book(table);
  const wbout = XLSX.write(wb, { bookType: 'xlsx', bookSST: true, type: 'array' });
  try {
    const blob = new Blob([wbout], { type: 'application/octet-stream' });
    const url = URL.createObjectURL(blob);
    // 创建a标签模拟点击进行下载
    const a = document.createElement('a');
    a.href = url;
    a.download = 'table.xlsx';
    document.body.appendChild(a);
    a.click();
    document.body.removeChild(a);
  } catch (e) {
    if (typeof console !== 'undefined') console.error(e, wbout);
  }
  return wbout;
};
</script>

在上述代码中,我们定义了一个exportTable方法,该方法通过table_to_book函数将表格转换为Excel工作簿对象,然后使用write函数将其转换为可下载的格式。最后,创建一个a标签模拟点击进行下载。这样用户就可以直接在前端浏览器中导出表格数据为Excel文件。

评论已关闭

推荐阅读

DDPG 模型解析,附Pytorch完整代码
2024年11月24日
DQN 模型解析,附Pytorch完整代码
2024年11月24日
AIGC实战——Transformer模型
2024年12月01日
Socket TCP 和 UDP 编程基础(Python)
2024年11月30日
python , tcp , udp
如何使用 ChatGPT 进行学术润色?你需要这些指令
2024年12月01日
AI
最新 Python 调用 OpenAi 详细教程实现问答、图像合成、图像理解、语音合成、语音识别(详细教程)
2024年11月24日
ChatGPT 和 DALL·E 2 配合生成故事绘本
2024年12月01日
omegaconf,一个超强的 Python 库!
2024年11月24日
【视觉AIGC识别】误差特征、人脸伪造检测、其他类型假图检测
2024年12月01日
[超级详细]如何在深度学习训练模型过程中使用 GPU 加速
2024年11月29日
Python 物理引擎pymunk最完整教程
2024年11月27日
MediaPipe 人体姿态与手指关键点检测教程
2024年11月27日
深入了解 Taipy:Python 打造 Web 应用的全面教程
2024年11月26日
基于Transformer的时间序列预测模型
2024年11月25日
Python在金融大数据分析中的AI应用(股价分析、量化交易)实战
2024年11月25日
AIGC Gradio系列学习教程之Components
2024年12月01日
Python3 `asyncio` — 异步 I/O,事件循环和并发工具
2024年11月30日
llama-factory SFT系列教程:大模型在自定义数据集 LoRA 训练与部署
2024年12月01日
Python 多线程和多进程用法
2024年11月24日
Python socket详解,全网最全教程
2024年11月27日