列表数据纯前端使用xlsx实现导出功能
基础写法
let filename = "资产导出.xlsx";
定义导出数据
let data = [
["第一列",'','','', "第二列", "第三列"],
[1, 2, 3],
[true, false, null, "sheetjs"],
["foo", "bar", new Date("2014-02-19T14:30Z"), "0.3"],
["baz", null, "qux"],
];
// 定义excel文档的名称
let ws_name = "SheetJS";
// 初始化一个excel文件
let wb = XLSX.utils.book_new();
// 初始化一个excel文档,此时需要传入数据
let ws = XLSX.utils.aoa_to_sheet(data);
ws["!merges"] = [{
s: { c: 1, r: 0 },
e: { c: 4, r: 0 }
}]
// 将文档插入文件并定义名称
XLSX.utils.book_append_sheet(wb, ws, ws_name);
// 执行下载
XLSX.writeFile(wb, filename);
动态添加数据
//val即使导出的那一条的数据
exportData(val) {
let filename = "资产导出.xlsx";
// 定义导出数据
let listName = [
["列表:"],
[
null,
"序号",
],
];
let dataList = [];
val.assetChangeRecordDetails.map((item, index) => {
dataList.push([ //将每一行单元格对应参数遍历按表头顺序排列
null,
index + 1 + "",
]);
});
// 定义excel文档的名称
let ws_name = "导出";
// 初始化一个excel文件
let wb = XLSX.utils.book_new();
// 初始化一个excel文档,此时需要传入数据
let ws = XLSX.utils.aoa_to_sheet([...listName, ...dataList]);
ws["!merges"] = [ //c是列,r是行,
{
s: { c: 0, r: 0 },
e: { c: 7, r: 0 },
}, //即 第一行,A1到A8合并,写出来一眼就能看明白
{
s: { c: 1, r: 1 },
e: { c: 2, r: 1 },
s: { c: 4, r: 1 },
e: { c: 5, r: 1 },
},
{
s: { c: 1, r: 2 },
e: { c: 7, r: 2 },
},
{
s: { c: 0, r: `${dataList.length}` },
e: { c: 7, r: `${dataList.length}` },
},
];
ws["!rows"] = [ //单元格高度
{
hpx: 30,
}
];
ws["!cols"] = [ //单个列宽度
{
wpx: 80,
},
];
// 将文档插入文件并定义名称
XLSX.utils.book_append_sheet(wb, ws, ws_name);
// 执行下载
XLSX.writeFile(wb, filename); }

纯前端使用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. 自动备份一个TXT文件里面的SVN库

    之前的项目都是使用SVN进行代码管理,万一SVN挂了,,,项目全部爆炸,,,所以定时备份还是有必要的,,,虽然现在都不用SVN了,,,记录一下自己的备份方法 --------------------- ...

  2. vue3.0的生命周期函数

    stetup(){}在 生命周期函数 系列中的优先级 〇setup(){ //优先级最高 处于created生命周期之前的函数,是无法访问data,methods中的数据是无法访问到的,setup中的 ...

  3. java 进程排查

    [admin@New-OperSys-01 ~]$ jstack $pid | grep -A 50 55e7 "GC task thread#1 (ParallelGC)" os ...

  4. 基于AI边缘智能网关的工业质检应用

    成品质量检验是工业生产最后必不可少的环节,随着我国工业化的蓬勃发展,工业产品日益迈向高端化.精密化,对于工业产品的质量检验要求和投入成本也在不断提高,产品质检涉及到比以往更多维度.更多零部件.更高精度 ...

  5. 从XXE漏洞修复引起Not supported: http://javax.xml.XMLConstants/property/accessExternalDTD说到SPI机制

    引子  在使用Fortify扫描时代码报XML External Entity Injection,此漏洞为xml实体注入漏洞,XXE攻击可利用在处理时动态构建文档的 XML 功能.修复方案也包含了增 ...

  6. MAC下使用Wireshark调试chrome浏览器的HTTP/2流量

    1.设置环境变量 mkdir ~/tls && touch ~/tls/sslkeylog.log #zsh echo "\nexport SSLKEYLOGFILE=~/t ...

  7. 【Apifox Helper】自动生成接口文档,IDEA+Apifox懒人必备

    @ 目录 前言 缘由 接口文档对接爽,整理起来真费脑 ⏲️本文阅读时长 约10分钟 前置条件 1. IDEA开发工具 2. Apifox(不必要) 主要目标 一秒生成接口文档 水图 IDEA中项目接结 ...

  8. Trino Master OOM 排查记录

    背景 最近线上的 trino 集群 master 节点老是因为 OOM crash,我们注意到 trino crash 前集群正在运行的查询数量正常,不太像是因为并发查询数据太多导致的 OOM.遂配置 ...

  9. Linux & 标准C语言学习 <DAY4>

    一.数据类型     为什么要对数据进行分类         1.现实中的数据就是自带类别属性的         2.对数据进行分类可以节约内存存储空间.提高运行速度     C语言中数据分为两大类别 ...

  10. MyBatis 源码

    一.准备工作 MyBatis 工作流程:应用程序首先加载 mybatis-config.xml 配置文件,并根据配置文件的内容创建 SqlSessionFactory 对象:然后,通过 SqlSess ...