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

Vue 3 中导出 Excel 文件

在 Vue 3 中导出 Excel 文件,通常可以使用一些流行的 JavaScript 库,如 SheetJS (xlsx) 或者 exceljs。这里我将分别介绍如何使用这两个库来在 Vue 3 应用中导出 Excel 文件。

方法 1:使用 SheetJS (xlsx)

  1. 安装 SheetJS

    首先,你需要安装 xlsx 库。在你的 Vue 项目中运行以下命令:

npm install xlsx

      2.在 Vue 组件中使用 xlsx

然后,你可以在 Vue 组件中导入并使用 xlsx 来创建和导出 Excel 文件。

<template><button @click="exportToExcel">导出 Excel</button>
</template><script setup>
import * as XLSX from 'xlsx';const exportToExcel = () => {// 创建工作表数据const data = [["姓名", "年龄", "职业"],["张三", 28, "工程师"],["李四", 35, "设计师"],["王五", 29, "教师"]];// 创建工作表const ws = XLSX.utils.aoa_to_sheet(data);// 创建工作簿并添加工作表const wb = XLSX.utils.book_new();XLSX.utils.book_append_sheet(wb, ws, "Sheet1");// 导出 Excel 文件XLSX.writeFile(wb, "example.xlsx");
};
</script>

方法 2:使用 exceljs

  1. 安装 exceljs

    在你的 Vue 项目中安装 exceljs

npm install exceljs
  2.在 Vue 组件中使用 exceljs
<template><button @click="exportToExcel">导出 Excel</button>
</template><script setup>
import ExcelJS from 'exceljs';const exportToExcel = async () => {// 创建工作簿和工作表const workbook = new ExcelJS.Workbook();const worksheet = workbook.addWorksheet('My Sheet');// 添加数据到工作表worksheet.addRow(['姓名', '年龄', '职业']);worksheet.addRow(['张三', 28, '工程师']);worksheet.addRow(['李四', 35, '设计师']);worksheet.addRow(['王五', 29, '教师']);// 设置列宽等(可选)worksheet.columns.forEach(column => { column.width = 20; });// 导出 Excel 文件到浏览器或保存到服务器(示例:浏览器下载)workbook.xlsx.writeBuffer().then((buffer) => {const blob = new Blob([buffer], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });const url = URL.createObjectURL(blob);const a = document.createElement('a');a.href = url;a.download = 'example.xlsx';a.click();URL.revokeObjectURL(url); // 释放内存中的 URL 对象资源。});
};
</script>
以上两种方法都可以在 Vue 3 中实现 Excel 文件的导出。你可以根据自己的需求选择合适的库。如果你需要处理更复杂的 Excel 文件(如包含图片、公式等),exceljs 可能提供更多灵活性和功能。而 xlsx 则因其简单易用而受到许多开发者的喜爱。
http://www.dtcms.com/a/287358.html

相关文章:

  • github上传代码
  • window、DOM、document、html 他们之间的关系是什么?
  • springboot基础-demo
  • Java中缓存的使用浅讲
  • Netty集群方案详解与实战(Zookeeper + Redis + RabbitMQ)
  • 深入理解设计模式:策略模式的艺术与实践
  • 云端成本治理利器:亚马逊云科技智能仪表盘(AWS Cost Intelligence Dashboard)深度解析
  • Android14 SystemUI 启动流程(2)
  • Spring MVC @RequestParam注解全解析
  • Spring MVC源码分析 DispatcherServlet#getHandlerAdapter方法
  • C# 中的强大运算符
  • 掌握配置文件(一):精通`properties`与`yml`的语法及选择
  • 【iOS】ZARA仿写
  • MySQL详解二
  • ros2高级篇之高可用启动文件及配置编写
  • 深入解析HDFS写入流程:管道机制与数据可靠性保障
  • (Python)类和类的方法(基础教程介绍)(Python基础教程)
  • 7月19日日记
  • SpringAI_Chat模型_DeepSeek模型--基础对话
  • Word快速文本对齐程序开发经验:从需求分析到实现部署
  • 嵌入式单片机开发 - Keil MDK 复制工程
  • Python day18
  • MySQL事务管理(上)(12)
  • xss-labs靶场1-8
  • DAMA数据管理具像化解读|第一章数据管理|业务驱动因素
  • 暑期训练8
  • 13.4 Meta LLaMA开源模型家族全面解析:从Alpaca到Vicuna的技术内幕
  • 外观设计模式
  • 删除debian xdm自启动ibus的配置项
  • 2021 RoboCom 世界机器人开发者大赛-本科组(初赛)解题报告 | 珂学家