在必要的情况下,我们需要将数据库的信息导入到Excel表格中。这时候,通过云函数很容易可以实现该功能。

先看一下效果:


我们将分为以下几个步骤:

  1. 安装导出Excel表格的模块
  2. 编写云函数代码
  3. 导出表格并复制下载链接

一、安装模块
新建云函数,右键该云函数在终端中开打。
输入命令:

npm install node-xlsx


安装成功如下图所示:

二、编写云函数代码

打开index.js文件,我们编写云函数代码:

const cloud = require('wx-server-sdk')
cloud.init({env: "campusdada-45zin"   //编写云开发环境
})
const xlsx = require('node-xlsx')    //导入Excel类库
const db = cloud.database()   //声明数据库对象
const _ = db.command
exports.main = async (event, context) => {   //主函数入口try {let StuInfo = await db.collection('managementfo').where({openID:_.in(event.arropenid)}).get()   //将获取到的数据对象赋值给变量,接下来需要用该对象向Excel表中添加数据let dataCVS = `studentInfo-${Math.floor(Math.random()*1000000000)}.xlsx`//声明一个Excel表,表的名字用随机数产生let alldata = [];let row = ['姓名', '性别','籍贯','学院','班级','宿舍','联系电话','政治面貌','兴趣爱好','接受调配','特长','个人简介']; //表格的属性,也就是表头说明对象alldata.push(row);  //将此行数据添加到一个向表格中存数据的数组中
//接下来是通过循环将数据存到向表格中存数据的数组中for (let key = 0; key<StuInfo.data.length; key++) {let arr = [];arr.push(StuInfo.data[key].managename);arr.push(StuInfo.data[key].managesex);arr.push(StuInfo.data[key].manageplace);arr.push(StuInfo.data[key].manageparment);arr.push(StuInfo.data[key].manageclass);arr.push(StuInfo.data[key].managedorm);arr.push(StuInfo.data[key].managetele);arr.push(StuInfo.data[key].manageorganization);arr.push(StuInfo.data[key].managebranch);arr.push(StuInfo.data[key].managede);arr.push(StuInfo.data[key].managedeapp);arr.push(StuInfo.data[key].managedemanage);alldata.push(arr)}var buffer = await xlsx.build([{   name: "mySheetName",data: alldata}]); //将表格存入到存储库中并返回文件IDreturn await cloud.uploadFile({cloudPath: dataCVS,fileContent: buffer, //excel二进制文件})} catch (error) {console.error(error)}
}

三、导出表格并复制下载链接

在引用云函数的js文件中编写代码:

wx.cloud.callFunction({name:"StuExcel",data:{arropenid:arropenid},complete:res=>{wx.cloud.getTempFileURL({      //获取文件下载地址(24小时内有效)fileList:[res.result.fileID],success:res=>{this.setData({tempFileURL:res.fileList[0].tempFileURL,showUrl:true})wx.setClipboardData({   //复制刚获取到链接,成功后会自动弹窗提示已复制data:this.data.tempFileURL,success (res) {wx.getClipboardData({success (res) {console.log(res.data) // data}})}})}})}})

到这里就完成了将数据从数据库中导出来的功能,如果对你有用,就点个赞吧。

微信小程序云开发之将云数据库信息导出到Excel表格并复制下载链接相关推荐

  1. 微信小程序——传统开发模式与云开发模式对比

    目  录 1.传统开发模式与云开发模式的对比图 2.云开发技术能力说明 3.云开发技术特点 1.传统开发模式与云开发模式的对比图 通过传统开发模式与云开发模式的对比图可以看出传统开发模式需要开发者关注 ...

  2. 【微信小程序-原生开发】实用教程02-添加全局页面配置、页面、底部导航

    开始前,请先完成项目创建,详见 [微信小程序-原生开发]实用教程01-注册登录账号,获取 AppID.下载安装开发工具.创建项目.上传体验 前期准备 因我们的项目是根据模板创建的,需先清理掉无效的页面 ...

  3. 【微信小程序-原生开发】实用教程08 - 开通微信云开发,操作云数据库新增数据(含修改数据权限),初始化云服务(含获取微信云环境 id),获取云数据,滚动公告栏

    开始前,请先完成圆梦宝典中宫格导航的开发,详见 [微信小程序-原生开发]实用教程 07 - Grid 宫格导航,详情页,侧边导航(含自定义页面顶部导航文字) https://blog.csdn.net ...

  4. 微信小程序6-云开发-云数据库

    微信小程序1-小程序基础,开发工具安装使用 微信小程序2-WXSS,WXS 微信小程序3-小程序生命周期和组件 微信小程序4-小程序的api 微信小程序5-真机测试 1.云开发 1).什么是云开发 微 ...

  5. 【微信小程序-原生开发】实用教程09 - 可滚动选项,动态列表-步骤条(含事件传参),动态详情(含微信云查询单条数据 doc)

    开始前,请先完成圆梦宝典中滚动公告栏的开发,详见 [微信小程序-原生开发]实用教程 08 - 开通微信云开发,操作云数据库新增数据(含修改数据权限),初始化云服务(含获取微信云环境 id),获取云数据 ...

  6. 微信小程序应用开发赛作品综合开发记录——晋鹿文旅(云开发——概览)

    文章目录 前言 作品展示: 1.设计理念: 2.1.风景/人文历史 2.2.文物园 2.3.志愿者(暂未对接任何活动,仅测试) 2.4.英汉传译(考虑到可能在旅行中外国友人或者单纯就想翻译) 2.5. ...

  7. 微信小程序蓝牙标签打印/标签云打印开放平台(2)

    微信小程序蓝牙标签打印/标签云打印开放云平台(下面简称"平台" www.herro.cn 技术服务TEL:15759216805),支持开发者通过API调用完成标签蓝牙打印或标签云 ...

  8. 【微信小程序控制硬件⑧ 】微信小程序以 websocket 连接阿里云IOT物联网平台mqtt服务器,封装起来使用就是这么简单!(附带Demo)

    [微信小程序控制硬件第1篇 ] 全网首发,借助 emq 消息服务器带你如何搭建微信小程序的mqtt服务器,轻松控制智能硬件! [微信小程序控制硬件第2篇 ] 开始微信小程序之旅,导入小程序Mqtt客户 ...

  9. 微信小程序原生接入腾讯云im(单聊,列表,聊天界面,自定义消息,自动回复)

    微信小程序原生接入腾讯云im(单聊,列表,聊天界面,自定义消息,自动回复) 发送图片语音消息传送→ 文章目录 1.项目需求 2.参考文档 3.效果图 4.初始化 集成SDK 5.登录 6.会话列表 7 ...

最新文章

  1. 二叉搜索树的简明实现(ES5 ES6)
  2. 第八章 熟练dom的几个常用方法
  3. DataFrame 学习笔记
  4. 卸载一直在创建还原点_Win10电脑开机一直转圈无法进入系统的解决方法
  5. 360漏洞更新后系统进不去
  6. Linux 下的tar常用命令及操作
  7. Post请求中加不加@RequestBody的区别和formedata与JSON传递的区别
  8. 对编写的代码进行单元测试_编写数据访问代码测试–单元测试是浪费
  9. Spark的枚举类型实例!scala的枚举。
  10. 局域网中另外一台服务器的内存_局域网共享打印机,但另外一台电脑却看不到,可能是这3个原因...
  11. 十进制负数的二进制表示法
  12. python创建文件对象的函数_Python 文件对象常用内建方法
  13. 多activity中退出整个程序
  14. Hprose开源的高性能远程对象服务引擎
  15. Linux下替换文本内容(sed命令)
  16. POJ-1328(Greedy,Vector,Sort,Iterator)
  17. JavaScript,5种调用函数的方法
  18. java/php/net/python题库管理系统设计
  19. 硬件设计与开发——如何提高自己的能力
  20. Python小游戏大鱼吃小鱼

热门文章

  1. 轻型货车悬架系统的设计(设计说明书+CAD图纸+开题报告+任务书+答辩相关材料)
  2. 数据中台建设方案-基于大数据平台(下)
  3. 【单目3D目标检测】MonoDLE论文精读与代码解析
  4. 图片转cad用什么软件?转换有技巧
  5. 没有音响,把手机当作电脑音响的操作。
  6. MySQL 导入、备份
  7. 2023年湖北黄石初级工程师职称在哪里报名?评审条件是什么启程别
  8. 作业 20181204-5 Final阶段贡献分配规则及实施
  9. stlink故障修复
  10. 制图大赛计算机二维绘图,第五届“高教杯”全国大学生先进成图技术与产品信息建模创新大赛 机械类 计算机绘图试卷.pdf...