列表数据纯前端使用xlsx实现导出功能
基础写法
  1. let filename = "资产导出.xlsx";
  2. 定义导出数据
  3. let data = [
  4. ["第一列",'','','', "第二列", "第三列"],
  5. [1, 2, 3],
  6. [true, false, null, "sheetjs"],
  7. ["foo", "bar", new Date("2014-02-19T14:30Z"), "0.3"],
  8. ["baz", null, "qux"],
  9. ];
  10. // 定义excel文档的名称
  11. let ws_name = "SheetJS";
  12. // 初始化一个excel文件
  13. let wb = XLSX.utils.book_new();
  14. // 初始化一个excel文档,此时需要传入数据
  15. let ws = XLSX.utils.aoa_to_sheet(data);
  16. ws["!merges"] = [{
  17. s: { c: 1, r: 0 },
  18. e: { c: 4, r: 0 }
  19. }]
  20. // 将文档插入文件并定义名称
  21. XLSX.utils.book_append_sheet(wb, ws, ws_name);
  22. // 执行下载
  23. XLSX.writeFile(wb, filename);
动态添加数据
  1. //val即使导出的那一条的数据
  2. exportData(val) {
  3. let filename = "资产导出.xlsx";
  4. // 定义导出数据
  5. let listName = [
  6. ["列表:"],
  7. [
  8. null,
  9. "序号",
  10. ],
  11. ];
  12. let dataList = [];
  13. val.assetChangeRecordDetails.map((item, index) => {
  14. dataList.push([ //将每一行单元格对应参数遍历按表头顺序排列
  15. null,
  16. index + 1 + "",
  17. ]);
  18. });
  19. // 定义excel文档的名称
  20. let ws_name = "导出";
  21. // 初始化一个excel文件
  22. let wb = XLSX.utils.book_new();
  23. // 初始化一个excel文档,此时需要传入数据
  24. let ws = XLSX.utils.aoa_to_sheet([...listName, ...dataList]);
  25. ws["!merges"] = [ //c是列,r是行,
  26. {
  27. s: { c: 0, r: 0 },
  28. e: { c: 7, r: 0 },
  29. }, //即 第一行,A1到A8合并,写出来一眼就能看明白
  30. {
  31. s: { c: 1, r: 1 },
  32. e: { c: 2, r: 1 },
  33. s: { c: 4, r: 1 },
  34. e: { c: 5, r: 1 },
  35. },
  36. {
  37. s: { c: 1, r: 2 },
  38. e: { c: 7, r: 2 },
  39. },
  40. {
  41. s: { c: 0, r: `${dataList.length}` },
  42. e: { c: 7, r: `${dataList.length}` },
  43. },
  44. ];
  45. ws["!rows"] = [ //单元格高度
  46. {
  47. hpx: 30,
  48. }
  49. ];
  50. ws["!cols"] = [ //单个列宽度
  51. {
  52. wpx: 80,
  53. },
  54. ];
  55. // 将文档插入文件并定义名称
  56. XLSX.utils.book_append_sheet(wb, ws, ws_name);
  57. // 执行下载
  58. XLSX.writeFile(wb, filename);
  59.  
  60. }

纯前端使用xlsx实现导出表格的更多相关文章

  1. vue 纯前端导出 excel 表格

    在开发后台管理系统的时候,很多地方都要用到导出excel 表格,比如将table中的数据导出到本地,那么实现这种需求往往有两种方案: 一.后端开发一个下载链接,前端将这个链接放到 a 标签的 href ...

  2. 如何使用JavaScript实现纯前端读取和导出excel文件

    js-xlsx 介绍 由SheetJS出品的js-xlsx是一款非常方便的只需要纯JS即可读取和导出excel的工具库,功能强大,支持格式众多,支持xls.xlsx.ods(一种OpenOffice专 ...

  3. vue后台_纯前端实现excel导出/csv导出

    之前的文件下载功能一般是由前后端配合实现,由于项目需要,纯前端实现了一把excel的导出功能: 一.excel导出 1.安装依赖库 xlsx:这是一个功能强大的excel处理库,但是上手难度也很大,还 ...

  4. 如何使用JavaScript实现纯前端读取和导出excel文件(转)

    转自小茗同学博客:https://www.cnblogs.com/liuxianan/p/js-excel.html js-xlsx 介绍 由SheetJS出品的js-xlsx是一款非常方便的只需要纯 ...

  5. H5纯前端生成Excel表格

    H5纯前端生成Excel表格方法如下: <!DOCTYPE html> <html> <head> <title></title> < ...

  6. 纯前端表格控件SpreadJS以专注业务、提升效率赢得用户与市场

    提起华为2012实验室,你可能有点陌生. 但你一定还对前段时间华为的那封<海思总裁致员工的一封信>记忆犹新,就在那篇饱含深情的信中,我们知道了华为为确保公司大部分产品的战略安全和连续供应, ...

  7. 【新功能前瞻】SpreadJS 纯前端表格控件V12.2:打印增强、拖拽填充等六大特性

    新版本来袭:葡萄城 SpreadJS 纯前端表格控件的全新版本 V12.2 将于8月正式发布! 作为一款备受华为.招商银行.中国平安.苏宁易购等行业专家和前端开发者认可的纯 JavaScript 电子 ...

  8. 【案例分享】在 React 框架中使用 SpreadJS 纯前端表格控件

    [案例分享]在 React 框架中使用 SpreadJS 纯前端表格控件 本期葡萄城公开课,将由国电联合动力技术有限公司,资深前端开发工程师——李林慧女士,与大家在线分享“在 React 框架中使用 ...

  9. 使用javascript纯前端导出excel

    前言(感谢技术的分享者) 参考博客地址 github地址 由SheetJS出品的js-xlsx是一款非常方便的只需要纯JS即可读取和导出excel的工具库,功能强大,支持格式众多,支持xls.xlsx ...

  10. 纯前端导出pdf文件

    纯前端js导出pdf,已经用于生产环境. 工具: 1.html2canvas,一种让html转换为图片的工具. 2.pdfmake或者jspdf ,一种生成.编辑pdf,并且导出pdf的工具. pdf ...

随机推荐

  1. QT网络编程【二】【Socket】

    1.QT中添加socket 库的相关操作 2.正常c++11 VS2019使用socket库的操作 3.winsock2 与 sys/socket.h的区别? 4.WinSock2 的基本操作? 详细 ...

  2. Mysql_5.7编译部署

    自述 - 概述:数据库是"按照数据结构来组织.存储和管理数据的仓库".是一个长期存储在计算机内的.有组织的.可共享的.统一管理的大量数据的集合:本文主要介绍mysql_5.7的部署 ...

  3. DB help

    using Dapper; using System; using System.Collections; using System.Collections.Generic; using System ...

  4. 三、Applied visual design(应用视觉设计)

    一.文本属性整理 <style> h2 { /* 文字对齐属性 text-align */ /* center:居中,left,right:居左居右,justify:文字拉伸铺满一行 */ ...

  5. Safari 浏览器下打印PDF, 打印预览显示为空白

    重现代码 const iframe = document.createElement('iframe'); iframe.onload = () => { iframe.focus(); ifr ...

  6. springboot后端接收不到前端传来的表单值

    为啥接收不到 因为传来的字段值太大了,springboot默认启动依赖tomcat,tomcat默认接收表单值最大为2MB,将server.tomcat.max-http-form-post-size ...

  7. String的Equals()和==比较

    String的Equals()和==比较 常量池(Constant Pool):指的是在编译期被确定,并被保存在已编译的.class文件中的一些数据.JVM虚拟机为每个被装载的类型维护一个常量池.常量 ...

  8. docker 容器版本问题

    LoggerFactory is not a Logback LoggerContext but Logback is on the classpath springboot docker 容器中运行 ...

  9. ls和mkdir

    ls  查看当前目录的内容 1) ls -l 显示详细列表 2) Ls -lh 吧文件大小以人性化的方式展开 3) ls -a 显示所有的文件,包括隐藏文件,隐藏文件是已.开头的文件 4) ll 等于 ...

  10. Mongodb between 时间范围

    db.getCollection("Order").find({ "Supplier.ServiceCode": "CNI", " ...