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

网络网站网站优化推广公司

网络网站,网站优化推广公司,汕头seo优化,校园网站建设论文基于Node.js的后台管理系统的数据表格导出下载 今天在工作的时候接触到一个需求,就是现在有一个简单的后台管理系统是基于node.js来实现的,现在需要将其中的一个表格数据下载下来。乍一听还以为这个是一个简单的需求,以为只要简单的一个小时…

基于Node.js的后台管理系统的数据表格导出下载

今天在工作的时候接触到一个需求,就是现在有一个简单的后台管理系统是基于node.js来实现的,现在需要将其中的一个表格数据下载下来。乍一听还以为这个是一个简单的需求,以为只要简单的一个小时就能完成,没有想到直接花了我将近两个半小时并且还是在他人的帮助下实现的功能。下面就是具体的实现步骤

第一步引入依赖

最主要的是使用的node的库node-xlsx。
npm环境下
node-xslx
npm install node-xlsx
node.js中的fs模块
npm install fs

具体的引入代码
let fs = require('fs'); let xlsx = require('node-xlsx');

第二步写sql语句,查询需要下载的数据

app.get('/export', (req, res) => {//生成Excel依赖包const xlsx = require("node-xlsx");//写入文件依赖包var fs = require("fs");const sql = `select * from student where delete_status=0`db.query(sql, async (err, results) => {if (err) {return console.log(err.message)}// res.json(results);const dataList = results.data;console.log(results,"获取的dataList数据")let list = [{name: "sheet",data: [//第一列是作为表头,先写死;后面的数据通过循环push到这个数组中["购买人名称", "购买时间", "实际支付金额","兑换码","兑换码所属渠道/商家名称"],],},];for (let  i = 0; i < results.length; i++){console.log("++++++++++++++++++", results[i])let name = results[i].namelet time = results[i].timelet money = results[i].moneylet code = results[i].codelet business = results[i].businesslet linshi = [name, time, money, code, businessName]console.log('获取的新数组 :>> ', linshi);list[0].data.push(linshi)console.log('写入的数据 :>> ', list[0].data);}const buffer = xlsx.build(list);fs.writeFile("详细数据.xlsx", buffer, function (err) {if (err) {console.log(err, "保存excel出错");} else {console.log("写入excel成功!!!");}});res.body = buffer;//将返回的buffer作为一个流返回给前端res.set('Content-disposition', 'attachment; filename='+encodeURIComponent('文娱卡售卡明细表')+'.xlsx');res.set('Content-type', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');res.status(200).send(buffer)})
})

这一步写完基本的数据就会写入到excel文件中,并且将excel文件作为一个流直接返回给前端

第三步前端接收数据下载

前端页面添加一个按钮,在按钮的点击事件中请求后台返回的excel表格数据
通过 window.open直接连接后台的接口数据访问后台返回过来的流,下载进行展示

async daochu() {//这个console.log(window.ip +":"+ window.port + '/export')window.open(window.ip +":"+ window.port + '/export')},

ip和port是主机id和请求端口,是在前端规定好的,可以选择写死也可以选择动态写入

以上就是基于node.js的后台管理系统的数据表格导出下载的实现全过程,如果还有什么更好的方法,可以一起沟通沟通

http://www.sczhlp.com/news/18766/

相关文章:

  • 网站建设成本表微信推广平台怎么做
  • 社交博客网站开发比百度好用的搜索引擎
  • 儿童个人网站模板网站建设方案范文
  • 火石创造十周年启动全面AI战略:从数智筑基到智能体革命 - SaaS软件
  • CMMI与PMP组合管理模式的思考
  • 网站创建工具seo外链建设的方法
  • 青岛营销型网站制作长沙优化科技有限公司正规吗
  • wordpress被改密码忘记北京推广优化经理
  • 建网站什么语言2023年8月份新冠
  • 有域名了怎么建设网站微营销推广软件
  • 长春建立一个网站需要多少钱?培训方案
  • 长春好的做网站公司独立站建站需要多少钱
  • 建设网站网站多少钱百度关键词优化软件怎么样
  • 后台java语言做网站上海seo外包公司
  • 珠海网站建设在哪里域名备案官网
  • 宿迁做网站网络营销方法和手段
  • pycharm添加.py文件默认的注释
  • ssh反向代理 为服务器提供加速
  • 【大二病也要学离散!】第八章 平面图
  • Parquet Encodings
  • StarBlog v1.3.0 新版本,一大波更新以及迁移服务器部署
  • 广州环保网站建设免费引流人脉推广软件
  • 各个视频网站怎么做原创作者sem和seo区别与联系
  • 自己做的网站可以有多个前端吗数据分析师报考官网
  • 做面膜的网站网站收录免费咨询
  • 做暧暧的网站直播引流推广方法
  • 多语言网站模板企业培训课程表
  • 镇江网站建设个智谋网站优化公司
  • 深圳做网站维护的公司站长工具源码
  • 诚讯网站设计济南搜索引擎优化网站