纯前端导出,设置导出xlsx文件样式xlsx-js-style

设置导出的表格样式,xlsx-js-style!真的绝绝子!

1.下载xlsx-js-style依赖

npm install xlsx-js-style

2.在main.js中挂载到vue原型上,方便使用

import XLSX from 'xlsx-js-style'
Vue.prototype.$xlsx = XLSX

 3.页面具体写法

exportExcel() {const th = [["序号","工号","姓名","备注",],];let newData = [];this.listData.map((item, index) => {newData.push([index + 1,item.jobNumber,item.name,item.remark]);});let excelData = th.concat(newData); //数组的拼接let workbook = this.$xlsx.utils.book_new(); // 工作簿let worksheet = this.$xlsx.utils.aoa_to_sheet(excelData); // 数据表//以下是样式设置,样式设置放在组织完数据之后,xlsx-js-style的核心API就是SheetJS的//样式的设置可以参考相关文档 贴在文章末尾第二个链接//修改列宽cols 行宽就用rows 总共11列worksheet["!cols"] = [{width: 14,},     {width: 14,},{width: 14,},{width: 20,}];// 修改行高 这里我只修改了第一行worksheet["!rows"] = new Array(this.listData.length + 1).fill({hpx: 24,});//合并第一行单元格 s和e指范围即第一行 第一列到第十一列// worksheet["!merges"] = [{ s: { r: 0, c: 0 }, e: { r: 0, c: 10 } }];Object.keys(worksheet).forEach((key) => {// 非!开头的属性都是单元格// excelData.length是我表格的长度也就是总行数//设置从第二行开始的数据样式for (let i = 1; i <= excelData.length; i++) {//用正则表达式判断是否是某一行if (key.replace(/[^0-9]/gi, "") == i) {worksheet[key].s = {//设置字体font: {name: "Arial",sz: 12,bold: false,color: { rgb: "000000" },},//设置居中alignment: {horizontal: "center",vertical: "center",wrapText: true,},//设置边框border: {top: { style: "thin" },right: { style: "thin" },bottom: { style: "thin" },left: { style: "thin" },},};}}});this.$xlsx.utils.book_append_sheet(workbook, worksheet, "Sheet1");this.$xlsx.writeFile(workbook, "a.xlsx"); //表格名称},

参考:前端根据后端返回数据导出指定样式的表格(xlsx-js-style)_前端excel导出指定格式-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/623880.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

综合评价 | 基于EW、EW-BP、EW-ELM的地区发展水平综合评价(Matlab)

目录 效果一览基本介绍程序设计参考资料 效果一览 基本介绍 综合评价 | 基于EW、EW-BP、EW-ELM的地区发展水平综合评价&#xff08;Matlab&#xff09; 程序设计 完整程序和数据获取方式&#xff1a;私信博主回复基于EW、EW-BP、EW-ELM的地区发展水平综合评价&#xff08;Matl…

JMeter定时器之同步定时器

JMeter定时器之同步定时器 1. 背景2. 目的3. 介绍4. 例子4.1单个请求4.2多个请求 1. 背景 在实际生活中大家肯定遇到过一种场景&#xff0c;就是在某一时间或某一时刻&#xff0c;某件商品进行抢购&#xff0c;相当于秒杀&#xff1b;但是用JMeter进行测试的时候&#xff0c;如…

手把收来教大家win10电脑分辨率怎么调

win10系统操作界面和方式和win7系统有很大不同&#xff0c;有些用户想要设置屏幕的分辨率&#xff0c;但是却不知道应该怎么操作&#xff1f;屏幕分辨率会影响我们使用电脑的视觉效果&#xff0c;经常使用电脑的朋友通常都会设置一个合适的分辨率。下面小编来教大家win10电脑分…

IDEA、CLion代码智能提示功能忽略大小写

代码提示和补充功能有一个特性&#xff1a;区分大小写。 如果想不区分大小写的话&#xff0c;就把这个对勾去掉。建议去掉勾选。

算法训练day15Leetcode102二叉树层序遍历226翻转二叉树101对称二叉树

今天学习的文章和视频链接 https://www.bilibili.com/video/BV1ue4y1Y7Mf/?vd_source8272bd48fee17396a4a1746c256ab0ae 102 二叉树的层序遍历 给你二叉树的根节点 root &#xff0c;返回其节点值的 层序遍历 。 &#xff08;即逐层地&#xff0c;从左到右访问所有节点&…

Oracle-数据库性能变慢问题分析

问题背景: 应用运维报障说最近两天业务数据入库和表查询都变得很慢&#xff0c;需要排查一下数据库的性能问题 问题分析&#xff1a; 登录到服务器上&#xff0c;通过TOP命令快速看了一下&#xff0c;服务器整体的CPU使用%usr不算特别高&#xff0c;但%wa IO等待很高&#xff…

MySQL加锁规则

项目编写涉及到数据持久化一般选择使用MySQL。由于时间原因&#xff0c;数据库使用我选择了无脑三板斧&#xff1a;1. 建立了索引加速查询、2. 关闭自动提交事务、3. 在需要确保原子性的数据库操作之间手动创建和提交事务。 这么一看&#xff0c;仿佛即使是实际开发也与你此前…

蓝桥杯单片机快速教程5——利用状态机思想编程

预习知识&#xff1a; &#xff08;1&#xff09;状态机理论 http://t.csdnimg.cn/lXwjw &#xff08;2&#xff09;基础视频 【蓝桥杯单片机保姆级教学】 https://www.bilibili.com/video/BV1h3411m7Aw/?p119&share_sourcecopy_web&vd_sourcec4fc67867c5218768e783d0…

什么是WhatsApp Business?WhatsApp和WhatsApp Business区别?

什么是WhatsApp Business&#xff1f; WhatsApp Business账号是Meta专为企业设计的WhatsApp账号。不同于消费者层次的应用&#xff0c;WhatsApp Business旨在为企业提供更好的服务支持&#xff0c;方便企业与消费者建立更好的双向沟通渠道。 WhatsApp和WhatsApp Business有什…

为什么有人说PMP是水证,它的含金量到底怎么样?

在我国大陆&#xff0c;有好多证书被商业化得太重了&#xff0c;甚至演变成了个人或一些公司摇钱的工具。所以有些证书受人吹捧它崛起的快&#xff0c;但是活不长&#xff0c;甚至“夭折”&#xff0c;比如以前微软系列的证书&#xff1b; 而PMP认证从国外引进大陆这么多年了&…

可行性研究报告范文模板(可直接套用)-word

1业务需求可行性分析 2技术可行性分析 2.1规范化原则 2.2高度的兼容性和可移植性 2.3人性化、适用性 2.4标准化统一设计原则 2.5先进安全可扩展性原则 3开发周期可行性分析 4人力资源可行性分析 5成本分析 6收益分析 7结论 软件开发全文档获取&#xff1a;软件项目…

[python]pyside6安装和在pycharm配置

安装命令&#xff1a; pip install PySide6 -i https://mirror.baidu.com/pypi/simple Pycharm配置Pyside6 打开Pycharm点击File -> Settings -> Tools -> External Tools&#xff0c;点击&#xff0b;。需要添加 Pyside6-Designer 、 Pyside6-UIC 和 Pyside6-rcc三…

突破界限:首个国产DeepSeek MoE的高效表现

前言 在人工智能技术的快速发展过程中&#xff0c;国产首个开源MoE&#xff08;Mixture of Experts&#xff09;大模型——DeepSeek MoE的推出&#xff0c;不仅标志着中国在全球AI领域的重大突破&#xff0c;而且在计算效率和模型性能上展现了显著的优势。这款160亿参数的模型…

初识Qt-无法解析的外部符号

跟着教程学习QT, 第一个对象树就出现bug&#xff0c;自己建立一个QPushButton的类&#xff0c; #ifndef MYPUSHBUTTON_H #define MYPUSHBUTTON_H #include <QPushButton> class MyPushButton:public QPushButton { Q_OBJECT public: MyPushButton(QWidget *parent)…

Vue3使用tinymce的配置和坑

一、安装依赖 下载安装依赖 yarn add tinymce -S; yarn add tinymce/tinymce-vue -S;下载中文语言包和静态文件 2.1 这一步网上都有&#xff0c;直接去官网下载语言包&#xff0c;将文件放在public/tinymce/langs中&#xff0c;这样打包后静态文件会被复制到打包后的目录中2.…

ECharts 多季度连续显示到一个图中。

效果图 二.相关option 以下option可以复制到 echarts的编辑器 进行查看修改 const site test1; const site2 test2;const qtrlyOption function (data: any, titleText: string): any {//获取最大值 。最大最小值的目的是&#xff1a;使左右里边的所有bar使用同一个指标let …

[HTML]Web前端开发技术12(HTML5、CSS3、JavaScript )——喵喵画网页

希望你开心&#xff0c;希望你健康&#xff0c;希望你幸福&#xff0c;希望你点赞&#xff01; 最后的最后&#xff0c;关注喵&#xff0c;关注喵&#xff0c;关注喵&#xff0c;佬佬会看到更多有趣的博客哦&#xff01;&#xff01;&#xff01; 喵喵喵&#xff0c;你对我真的…

WebGIS招聘原来看重什么?整理了1300多份岗位得出来的干货!

之前给大家分享了一份boss直聘、猎聘和前程无忧上WebGIS相关的岗位汇总表&#xff1a; http://t.csdnimg.cn/35vn4 可以直接一键投递&#xff0c;需要的宝子记得后台找我。 今天给大家汇总了这些所有岗位的要求&#xff0c;包括学历、工作经验、城市、薪资以及技术要求等。 到…

DNS从入门到精通

DNS从入门到精通 Dns从入门到精通 DNS从入门到精通一、DNS原理二、企业高速缓存dns的搭建三、DNS相关名词解释四、权威DNS搭建编辑子配置文件&#xff08;主要写我们维护的域zone)开始解析 五、权威dns中的数据记录种类及应用编辑子配置文件&#xff08;主要写我们维护的域zone…

rman备份策略与RECLAIMABLE

在Oracle rman 需要keep 7days 时&#xff0c;report obsolete不能删除文件&#xff0c;但是如果Oracle已经备份到磁带上&#xff0c;RECLAIMABLE的空间Oracle内部可以自动释放的。 也就是说Oracle这是已经不能从磁盘回复&#xff0c;要磁带恢复复了 2023/12/24 10:35:31 …