前端导出excel表格功能

缘由

大家好, 最近公司在做一个类似医疗的项目,由于前端的开发人员有些许变故,而且公司暂时没有找到合适的前端开发人员。所以,前端开发的任务也落在了我们后端的身上。没办法,时间紧任务重,只能硬着头皮上了。

之前在刚开始的时候时候,我们是前后端不分离的,一直都是一个人来写。所以前端方面的知识我还是会一些的,所以当领导将任务下发下来的时候,不会说是“老虎吃天,无从下爪”。

在项目的整体开发过程当中基本上没有什么大的问题,但是客户提出了他们要统计数据,比如订单量的统计,会员数据信息的统计等,都需要一个下载EXCEL的功能。没办法呀!谁叫客户是上帝呢!我们只能遵从并且去完成了。

准备工作

因为我们之前的前端使用的是LayerUI框架,所以,也就懒得改了。我主要讲解并记录一下LayerUI框架的EXCEL导出功能。

首先,我平常使用的是VSCode进行开发,其他的前端开发工具也是可以的,根据个人喜好吧!

我们想开发EXCEL导出功能,那么得先引入相应的js插件,这里LayerUI官网已经给我们提供了。可以去LayerUI官网中的扩展组件去寻找并下载,我这里已经上传到百度云盘,需要的可以自取,layerui导出js

这里我们关于更多excel导出功能的文档,我们可以参考官方给我们提供的文档,这里我也将参考文档的地址提供出来,有需要的可以参考官方文档进行开发: LAY-EXCEL插件文档

开始测试

接下来我们就将下载好的excel.js文件导入到我们的项目当中,然后再要使用的html页面进行引入即可。

在这里插入图片描述

然后给我们的html页面加一个下载EXCEL文件的按钮。

在这里插入图片描述

现在到了代码部分了,我们利用excel.js给我们提供的方法,直接调用然后进行相应的设置就可以了。这边我已经是做好了的,所以直接将代码粘贴出来以供大家参考吧

<button id="exportList" class="layui-btn layui-bg-blue" style="margin-left: 100px; ><i class="layui-icon">&#xe601;</i>会员导出</button><script>
layui.use(function () {let laydate = layui.laydate;let table = layui.table,layer = layui.layer,form = layui.form;//这里很重要呦excel = layui.excel;//会员导出功能$('#exportList').on('click', function () {var urll = path + '/webAdmin/patient/userList';var dataw = {}$.axs1(urll, dataw, buildSuccess);function buildSuccess(data) {var title = [{patientId:'会员管理信息表'},{patientId:'会员编号',patientName:'患者姓名',patientPhone:'患者手机号码',doctorName:'医生姓名',wxOpenId:'opneId',createTime:'创建时间',updateTime:'更新时间'}],data = data.data,exportData = [];//这里设置公共样式var	publicStyle = {font: {    sz: 12 },alignment: {vertical: "center",horizontal: "center"},border: {top: {style: 'thin', color: {rgb: '666666'}},bottom: {style: 'thin', color: {rgb: '666666'}},left: {style: 'thin', color: {rgb: '666666'}},right: {style: 'thin', color: {rgb: '666666'}}}}function getStyle(param){param = param || {};let tmpData = {};['patientId', 'patientName', 'patientPhone', 'doctorName', 'wxOpenId', 'createTime', 'updateTime'].forEach(item => {tmpData[item] = function(value, line, data){return {v: value,s: {...publicStyle,...param}}}});return tmpData;}//整理数据let titleList = excel.filterExportData((() => {let newArr = [];title.forEach(item => {let tmpData = {};['patientId', 'patientName', 'patientPhone', 'doctorName', 'wxOpenId', 'createTime', 'updateTime'].forEach(key => {if('undefined'===typeof item[key]){tmpData[key] = '';}else{tmpData[key] = item[key];}});newArr.push(tmpData);});return newArr;})(), getStyle({font: { sz: 12, bold: true }}));let dataList   =   excel.filterExportData(data,getStyle())//标题exportData.push.apply(exportData, titleList);//会员数据exportData.push.apply(exportData, dataList);//合并单元格let mergeConf = LAY_EXCEL.makeMergeConfig([['A1', 'G1']]);//单元格列宽度设置let colConf = excel.makeColConfig({A:100,B:100,C:100,D:100,E:100,F:100,G:130});//导出数据excel.exportExcel(exportData, '会员信息管理.xlsx', 'xlsx', {extend: {'!merges': mergeConf,'!cols': colConf}});}})});
});
</script>

上述这些大概就是下载导出EXCEL功能的全部了。好了,今天的分享就到这里啦!感兴趣的赶紧去试试吧!

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

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

相关文章

Dubbo 3.x源码(25)—Dubbo服务引用源码(8)notify订阅服务通知更新

基于Dubbo 3.1&#xff0c;详细介绍了Dubbo服务的发布与引用的源码。 此前我们学习了接口级的服务引入订阅的refreshInterfaceInvoker方法&#xff0c;当时还有最为关键的notify服务通知更新的部分源码没有学习&#xff0c;本次我们来学习notify通知本地服务更新的源码。 Dubb…

使用 Ansys Mechanical 中的“螺栓工具”插件导出螺栓反作用力

概括&#xff1a; 对于处理复杂组件和结构的工程师和分析师来说&#xff0c;提高在 Ansys Mechanical 中提取多个螺栓反作用力表格的效率至关重要。在有限元分析 (FEA) 中&#xff0c;准确确定螺栓上的反作用力对于评估机械连接的完整性和性能至关重要。但是&#xff0c;手动提…

Docker部署Kafka SASL_SSL认证,并集成到Spring Boot

1&#xff0c;创建证书和密钥 需要openssl环境&#xff0c;如果是Window下&#xff0c;下载openssl Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions 还需要keytool环境&#xff0c;此环境是在jdk环境下 本案例所使用的账号密码均为&#xff1a; ka…

机器学习(基础2)

特征工程 特征工程:就是对特征进行相关的处理 一般使用pandas来进行数据清洗和数据处理、使用sklearn来进行特征工程 特征工程是将任意数据(如文本或图像)转换为可用于机器学习的数字特征,比如:字典特征提取(特征离散化)、文本特征提取、图像特征提取。 特征工程API 实例化…

CSS Module:告别类名冲突,拥抱模块化样式(5)

CSS Module 是一种解决 CSS 类名冲突的全新思路。它通过构建工具&#xff08;如 webpack&#xff09;将 CSS 样式切分为更加精细的模块&#xff0c;并在编译时将类名转换为唯一的标识符&#xff0c;从而避免类名冲突。本文将详细介绍 CSS Module 的实现原理和使用方法。 1. 思…

webpack案例----pdd(anti-content)

本文章中所有内容仅供学习交流&#xff0c;相关链接做了脱敏处理&#xff0c;若有侵权&#xff0c;请联系我立即删除&#xff01; 目标网址&#xff1a;aHR0cHM6Ly9waW5kdW9kdW8uY29tL2hvbWUvM2M 加密参数&#xff1a;anti_content 载荷里面的rn是不变的 发现加密是anti-con…

Flume1.9.0自定义Sink组件将数据发送至Mysql

需求 1、将Flume采集到的日志数据也同步保存到MySQL中一份&#xff0c;但是Flume目前不支持直接向MySQL中写数据&#xff0c;所以需要用到自定义Sink&#xff0c;自定义一个MysqlSink。 2、日志数据默认在Linux本地的/data/log/user.log日志文件中&#xff0c;使用Flume采集到…

T265相机双目鱼眼+imu联合标定(全记录)

最近工作用到t265&#xff0c;记录一遍标定过程 1.安装驱动 首先安装realsense驱动&#xff0c;因为笔者之前使用过d435i&#xff0c;装的librealsense版本为2.55.1&#xff0c;直接使用t265会出现找不到设备的问题&#xff0c;经查阅发现是因为realsense在2.53.1后就不再支持…

RT-DETR融合[CVPR2023]FasterNet种的PConv及相关改进思路

RT-DETR使用教程&#xff1a; RT-DETR使用教程 RT-DETR改进汇总贴&#xff1a;RT-DETR更新汇总贴 《Run, Don’t Walk: Chasing Higher FLOPS for Faster Neural Networks》 一、 模块介绍 论文链接&#xff1a;Run, Dont Walk: Chasing Higher FLOPS for Faster Neural Netwo…

【测试框架篇】单元测试框架pytest(2):用例编写

一、 前言 前面一章我们介绍了pytest环境安装和配置&#xff0c;并在pycharm里面实现了我们第一个pytest脚本。但是有些童鞋可能在编写脚本的时候遇到了问题&#xff0c;本文会讲一下我们编写pytest用例时需要遵守哪些既定的规则&#xff0c;同时这个规则也是可以修改的。 二…

嵌入式硬件电子电路设计(五)MOS管详解(NMOS、PMOS、三极管跟mos管的区别)

引言&#xff1a;在我们的日常使用中&#xff0c;MOS就是个纯粹的电子开关&#xff0c;虽然MOS管也有放大作用&#xff0c;但是几乎用不到&#xff0c;只用它的开关作用&#xff0c;一般的电机驱动&#xff0c;开关电源&#xff0c;逆变器等大功率设备&#xff0c;全部使用MOS管…

Conda安装软件错误(Pycharm)

conda的环境变量路径错误&#xff0c;比如移动了conda的文件位置conda的python版本不适合&#xff0c;python3.10现在更适合很多库conda对cmd没有初始化&#xff0c;conda init cmd.exe

《TCP/IP网络编程》学习笔记 | Chapter 11:进程间通信

《TCP/IP网络编程》学习笔记 | Chapter 11&#xff1a;进程间通信 《TCP/IP网络编程》学习笔记 | Chapter 11&#xff1a;进程间通信进程间通信的基本概念通过管道实现进程间通信通过管道进行进程间双向通信 运用进程间通信习题&#xff08;1&#xff09;什么是进程间通信&…

推荐一款高效的网站数据抓取工具:SysNucleus WebHarvy

SysNucleus WebHarvy是一款高效的网站数据抓取工具&#xff0c;支持从网页中提取文本、图像、URL 和电子邮件等内容&#xff0c;无需编写任何代码或脚本即可轻松实现数据抓取。用户可以通过 WebHarvy 内置的浏览器直观地浏览网页&#xff0c;指引软件提取所需的数据。它通过自动…

道陟科技EMB产品开发进展与标准设计的建议|2024电动汽车智能底盘大会

11月12日&#xff0c;2024电动汽车智能底盘大会在重庆开幕。会议由中国汽车工程学会主办&#xff0c;电动汽车产业技术创新战略联盟、中国汽车工程学会智能底盘分会、智能绿色车辆与交通全国重点实验室承办。本届大会围绕电动汽车智能底盘相关技术发展与融合&#xff0c;满足高…

Spring Authorization Server OAuth2.1

Spring Authorization Server介绍 Spring Authorization Server 是一个框架&#xff0c;它提供了 OAuth 2.1 和 OpenID Connect 1.0 规范以及其他相关规范的实现。 它建立在 Spring Security 之上&#xff0c;为构建 OpenID Connect 1.0 身份提供者和 OAuth2 授权服务器产品提供…

C++ 优先算法 —— 三数之和(双指针)

目录 题目&#xff1a;三数之和 1. 题目解析 2. 算法原理 ①. 暴力枚举 ②. 双指针算法 不漏的处理&#xff1a; 去重处理&#xff1a; 固定一个数 a 的优化&#xff1a; 3. 代码实现 Ⅰ. 暴力枚举&#xff08;会超时 O&#xff08;N&#xff09;&#xff09; Ⅱ.…

(三十三)队列(queue)

文章目录 1. 队列&#xff08;queue&#xff09;1.1 定义1.2 函数1.3 习题1.3.1 例题&#xff08;周末舞会&#xff09; 2. 双向队列&#xff08;deque&#xff09;2.1 定义2.2 函数2.3 题目2.3.1 例题&#xff08;打BOSS&#xff09; 1. 队列&#xff08;queue&#xff09; 队…

《FreeRTOS任务基础知识以及任务创建相关函数》

目录 1.FreeRTOS多任务系统与传统单片机单任务系统的区别 2.FreeRTOS中的任务&#xff08;Task&#xff09;介绍 2.1 任务特性 2.2 FreeRTOS中的任务状态 2.3 FreeRTOS中的任务优先级 2.4 在任务函数中退出 2.5 任务控制块和任务堆栈 2.5.1 任务控制块 2.5.2 任务堆栈…

springboot的社区团购系统设计录像

springboot的社区团购系统设计录像 springboot的社区团购系统设计