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

记录使用 xlsx 前端导出文件

记录使用 xlsx 前端导出文件

开发中会遇到表格导出文件的需求,可以使用 xlsx 和 file-saver 库完成

安装


npm i xlsx file-saver -S

基本使用

// 假设你有一个数据数组const exportData = [{ name: '张三', email: 'test@example.com', age: 20 },{ name: '李四', email: 'test2@example.com', age: 25 },// ...更多数据];// 将数组转换为工作表// 1.头部排放顺序const header = ['name', 'email', 'age'];// 2.头部名称const headerDisplay = { name: '名称', email: '邮箱', age: '年龄' };// 3.组成新数据const newData = [headerDisplay, ...exportData];// skipHeader = true 忽视原来的头const worksheet = XLSX.utils.json_to_sheet(newData, { header: header, skipHeader: true });// 创建工作簿并添加工作表const workbook = XLSX.utils.book_new();XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1');// 生成Excel文件const excelBuffer = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });// 使用blob和FileReader创建一个Blob URLconst dataBlob = new Blob([excelBuffer], {type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8',});const blobUrl = window.URL.createObjectURL(dataBlob);// 使用saveAs下载文件saveAs(dataBlob, `data_${Date.now()}.xlsx`);// 清理window.URL.revokeObjectURL(blobUrl);

application/vnd.openxmlformats-officedocument.spreadsheetml.sheet 为 xlsx 类型 常见 MIME 类型列表

github地址

官网

中文文档

引用他人详细使用文章

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • App推广新篇章:Xinstall带你走出数据迷雾,实现高效推广!
  • ZTP(Zero Touch Provisioning)
  • 情侣点餐小程序(零基础小白)(零成本运营)
  • Python计算机视觉编程——第四章 照相机模型与增强现实
  • 用户变渠道,Xinstall引领手游推广新潮流
  • 【网络安全】服务基础第一阶段——第五节:Windows系统管理基础---- DHCP部署与安全
  • 相机常见名词详解
  • 设计模式 18 备忘录模式
  • win11,vscode上用docker环境跑项目
  • graalvm jenkins maven 配置
  • 探索Ansible自动化运维:提高效率的关键工具
  • 【C++】手动实现String类的封装(分文件编译)
  • 程序员秋招经典面试题:简单聊聊DNS?
  • 什么是AOP(面向切面编程)
  • 一 lua学习笔记:概述
  • Angular 2 DI - IoC DI - 1
  • Angular 4.x 动态创建组件
  • CentOS从零开始部署Nodejs项目
  • HTTP那些事
  • Javascript编码规范
  • js递归,无限分级树形折叠菜单
  • Python 使用 Tornado 框架实现 WebHook 自动部署 Git 项目
  • 产品三维模型在线预览
  • 关于 Linux 进程的 UID、EUID、GID 和 EGID
  • 检测对象或数组
  • 悄悄地说一个bug
  • 事件委托的小应用
  • 算法系列——算法入门之递归分而治之思想的实现
  • 温故知新之javascript面向对象
  • 协程
  • 这几个编码小技巧将令你 PHP 代码更加简洁
  • 7行Python代码的人脸识别
  • 阿里云重庆大学大数据训练营落地分享
  • 基于django的视频点播网站开发-step3-注册登录功能 ...
  • 如何正确理解,内页权重高于首页?
  • 数据可视化之下发图实践
  • # Redis 入门到精通(一)数据类型(4)
  • $.ajax()方法详解
  • (9)STL算法之逆转旋转
  • (ctrl.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“
  • (delphi11最新学习资料) Object Pascal 学习笔记---第2章第五节(日期和时间)
  • (八)Flask之app.route装饰器函数的参数
  • (附源码)基于SSM多源异构数据关联技术构建智能校园-计算机毕设 64366
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理第3章 信息系统治理(一)
  • (十五)Flask覆写wsgi_app函数实现自定义中间件
  • (转) SpringBoot:使用spring-boot-devtools进行热部署以及不生效的问题解决
  • (转)大型网站架构演变和知识体系
  • (自适应手机端)响应式服装服饰外贸企业网站模板
  • .gitignore文件—git忽略文件
  • .NET 4.0网络开发入门之旅-- 我在“网” 中央(下)
  • .NET C# 配置 Options
  • .Net core 6.0 升8.0
  • .net core 使用js,.net core 使用javascript,在.net core项目中怎么使用javascript
  • .NET 编写一个可以异步等待循环中任何一个部分的 Awaiter
  • .NET 某和OA办公系统全局绕过漏洞分析