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

JS 导出 Excel 文件、SheetJS(xlsx)前端导出 Excel

一、JS 导出 Excel 文件

<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"/><metahttp-equiv="X-UA-Compatible"content="IE=edge"/><metaname="viewport"content="width=device-width, initial-scale=1.0"/><title>JS 导出 Excel 文件</title><style>*{margin:0;padding:0;box-sizing:border-box;}.app{margin:20px 0 0 20px;}table{border:0.5px solid black;}td, th{width:100px;height:30px;line-height:30px;text-align:center;border:0.5px solid black;}</style></head><body><divclass="app"><tableid="data"cellspacing="0"><tr><th>序号</th><th>姓名</th><th>年龄</th></tr><tr><td>1</td><td>张三</td><td>25</td></tr><tr><td>2</td><td>李四</td><td>30</td></tr></table><!-- 必须是 a 标签,如果是 button 标签没有 href 属性,如果无法设置 href 属性,就不能生成 Excel文件 --><aid="toExcel"href="">导出 Excel 文件</a></div><script>vartoExcel=document.getElementById("toExcel");toExcel.onclick=function(event){// 获得表格的 HTML 标签和文本数据varmyHtml=`<html> <head> <meta charset='UTF-8'> </head> <body>${document.getElementById("data").outerHTML}</body> </html>`;// 创建一个 Blob 对象// 第一个参数是文件的数据// 第二个参数是文件类型属性对象varmyBlob=newBlob([myHtml],{type:"application/vnd.ms-excel",});varmyTarget=event.target;// 利用 URL.createObjectURL 方法为元素 myTarget 生成 blobURLmyTarget.href=URL.createObjectURL(myBlob);// 设置文件名myTarget.download="人员表";};</script></body></html>

二、SheetJS(xlsx)前端导出 Excel

  1. 安装依赖
pnpmaddxlsx
  1. 核心 API 调用链路
import*asXLSXfrom"xlsx";// 1、准备数据,数组对象constrows=[{姓名:'张三',年龄:28,部门:'技术部'},{姓名:'李四',年龄:32,部门:'产品部'},];// 2、数组对象 → 工作表(Worksheet)constworksheet=XLSX.utils.json_to_sheet(rows);// 3、新建工作簿(Workbook)constworkbook=XLSX.utils.book_new();// 4、将工作表追加到工作簿,并指定工作表名称XLSX.utils.book_append_sheet(workbook,worksheet,'员工信息');// 5、指定工作簿名称吗,触发浏览器下载文件XLSX.writeFile(workbook,`导出文件_${Date.now()}.xlsx`);
  • Excel 工作簿就是 Excel 文件本身
http://www.cnnetsun.cn/news/4354629.html

相关文章:

  • 房地产销售中的守盘
  • S/4 HANA ABAP实战:从CDS视图到RAP框架的转型指南
  • AI Agent协同工作流:从通信协议到工程实践
  • 【单片机毕业设计推荐】基于 STM32 的人体健康运动监测终端设计与实现 基于 STM32 的老人跌倒报警与生理参数采集系统设计(023707)
  • 【单片机毕业设计推荐】基于 STM32 或 51 单片机的环境火情监测与短信报警系统设计 基于 STM32 或 51 单片机的室内烟雾温湿度智能监控装置设计(023807)
  • 基于SpringBoot的员工信息管理系统(毕设源码+文档)
  • 2026大专论文降重打分:81%降到5%的实测
  • 加载项与结构化数据 销售台账的实时问答
  • OpenVoice 语音克隆本地部署:10分钟克隆出你的专属声音
  • Folo 入门实战:一站式 AI RSS 阅读器,5 分钟搭好你的统一信息流
  • Folo:把多来源信息汇成一条时间线的开源 AI RSS 阅读器
  • 海尔488升十字对开门冰箱:超薄嵌入与AI变频深度解析
  • AI编程提示词精简80%效果更佳:Claude Code高效协作实践
  • RevokeMsgPatcher 微信防撤回补丁:四步装好 PC 端微信/QQ/TIM 防撤回与多开
  • Deep Q-Learning实战:交叉路口自适应信号控制与训练优化
  • MKVToolNix v80.0 完全指南:无损封装、批量处理与自动化实践
  • 小红书Android秋招笔试复盘:四大模块核心考点与避坑策略
  • DS2API 配置热更新完整指南:如何用 Admin Settings 免重启修改并发与队列
  • VC6/MFC老项目集成SQLite实战:编译、编码转换与升级管理
  • 基于SpringBoot的云与糖蛋糕购物平台系统(毕设源码+文档)
  • 5090看直播还卡?解码链路与硬件加速排查指南
  • 自制象棋打谱与AI分析工具:python-chess+Stockfish实战教程
  • Claude Code启动提速:终端开发效率与配置指南
  • 从MPX到步枪:射击游戏武器选择的数据化评测与换枪指南
  • Upscayl 免费AI图片放大:完整安装与上手指南
  • 基于SpringBoot+Vue的大学城就餐推荐系统:偏好建模与实时推荐
  • 老笔记本驱动安装指南:以硬件ID识别为核心的声卡显卡驱动解决方案
  • DeepSeek Harness:一切皆插件的AI工作流编排层
  • 微信小程序本科毕业设计选题
  • GigaBrain-0.7:System-3双塔架构如何统一视觉语言理解与细粒度感知