微信小程序云开发:使用excel-export导出excel
微信小程序云开发:使用excel-export导出excel
前言
关于小程序的excel导出,我也走过了不少坑。之前看了很多人要不使用其他云作为excel的导出工具,要不压根就只是nodejs,而不是微信小程序的云开发。因此,我写了此篇文章作为纪念和分享用excel-export在小程序导出excel的方法
excel-export
在node-excel-export上面有关于nodejs如何导出excel的简单方法,这里我主要讲几个方面:
- excel-export采用的方法是利用zip转xlsx的方法:
你可以做个实验:在电脑上新建一个"test.xlsx"然后把后缀名改成“.zip”,然后解压,我相信你会看到有趣的东西
- excel-export利用的zip加码解码的工具是:node-zip。它派生自:jszip。但是:jszip保存zip的函数是:
jszip.executeSysnc
和jszip.executeNodeStream
。分别可以将结果以不同形式保存:binary,node-stream,base64…。but,node-zip的保存zip的函数是:jszip.execute({base64:false,compression: "DEFLATE"})
,这就意味着当我尝试改变源代码的时候:比如调用原来jszip的东西,程序会告诉你:**** is not a function
- 最重要的是:下面代码里面的excelResult的格式其实是binary
const nodeExcel = require(‘excel-export’);
var excelResult = nodeExcel.execute(tableMap);
来自node-zip-npm的详细说明:
核心代码
小程序端
getExcel: function(e){wx.cloud.callFunction({name:'get_excel',data:{},success: function(res){console.log(res.result.fileID);}} }
云开发的云端
安装excel-export
cd 该云函数的本地文件夹
npm install excel-export
get_excel.js
// 云函数入口文件
const cloud = require('wx-server-sdk')
const nodeExcel = require('excel-export')const path = require('path');
cloud.init()
// 云函数入口函数 exports.main = async (event, context) => {var tableHead = ["发票编号", "发票代码", "开票时间", "金额"];var tableMap = {styleXmlFile:path.join(__dirname,"styles.xml"),name: Date.now()+"-export",cols: [],rows: [],}//添加表头for(var i=0;i<tableHead.length;i++){tableMap.cols[tableMap.cols.length]={caption:tableHead[i],type:'string'}}
//伪数据
const Output = [{发票编号:0,发票代码:'001',开票时间:'2019-5-1',金额:100},{发票编号:1,发票代码:'002',开票时间:'2019-5-1',金额:200}
]
//添加每一行数据for(var i=0;i<Output.length;i++){tableMap.rows[tableMap.rows.length]=[Output[i].发票编号,Output[i].发票代码,Output[i].开票时间,Output[i].金额]}//保存excelResult到相应位置var excelResult = nodeExcel.execute(tableMap);var filePath = "outputExcels";var fileName = cloud.getWXContext().OPENID + "-" + Date.now()/1000 + '.xlsx';console.log(excelResult);//上传文件到云端return await cloud.uploadFile({cloudPath: path.join(filePath, fileName),fileContent: new Buffer(excelResult,'binary')}); } catch(e){console.log(e);return null; }}
注意把node-excel-export下载的文件里面的example文件夹下的style.xml
复制到云函数的文件夹下
微信小程序云开发:使用excel-export导出excel相关推荐
- 微信小程序云开发之用户输入数据后excel表格导出升级版
大家好,我是csdn的小博主lqj_本人,最近在哔哩哔哩开始上传我的制作微信小程序的详细流程,大家可以关注一下哔哩哔哩:小淼前端 本次程序的详细视频教程已上传至哔哩哔哩: 腾讯云开发小程序之用户输入数 ...
- 基于微信小程序云开发(校园许愿墙app)2.0稳定版,以发布上线
大家好~我是c站的一个小博主,我会定期更新博文,本篇是围绕微信小程序基于腾讯云开发展开的一个项目,如果看着还不错,或者对您有帮助的话,可以进我的专栏看看我的小程序的其他作品https://blog.c ...
- 微信小程序云开发之云数据库
本篇讲述微信小程序云开发中的云数据库 云开发提供了一个JSON数据库(文档型数据库),提供2GB免费存储空间,这个JSON数据库不同于传统的关系型数据库. 传统的关系型数据库像我们的excel表格一样 ...
- 基于微信小程序云开发的投票小程序源码,图文投票微信小程序源码
功能介绍 投票活动十分火,商家,企业,机构偶尔都会来一场投票活动评选,本小程序支持图文投票,简单方便.随时随地完成投票,可以方便设定投票模式(按天按全程,投票数限定). 本代码前后端完整代码包投票列表 ...
- 微信小程序云开发csv导入数据库中文乱码问题解决
针对这个问题自己总结了一套步骤. 一.新建Excel并编辑数据: 二.Excel 编辑好后另存为csv文件(直接导入微信小程序云开发数据库会出现中文乱码): 三.csv文件直接改后缀名为.txt,然后 ...
- 微信小程序云开发CMS内容管理平台csv上传乱码或失败的解决方法
一.新建Excel并编辑数据: 二.Excel 编辑好后另存为csv文件(直接导入微信小程序云开发数据库会出现中文乱码): 三.csv文件直接改后缀名为.txt,然后用记事本打开(如首行出现空字段需删 ...
- 微信小程序--云开发学习
这两周因为没有布置任务,主要进行微信小程序云开发的学习 ················· 开发者可以使用云开发开发微信小程序.小游戏,无需搭建服务器,即可使用云端能力. 云开发为开发者提供完整的原生 ...
- 微信小程序云开发-云函数篇
一.小程序原生-云函数 1.在项目根目录下新建云函数存放的文件夹目录: "functions/",并在 project.config.json 中加入配置 2.右击 functio ...
- 垃圾分类微信小程序——云开发+CMS+微应用+百度智能云图片识别
功能列表 1.0.0版本: 三个版本,一个APPID,登录页选择版本 登录,openid判断 社区居民用户注册,一房一主 工作/清洁人员账号绑定,一人一号,一号一人 用户首页,直接展示搜索功能,包括图 ...
最新文章
- Cheat Engine Tutorial 闯关手记
- UploadHandleServlet
- 信息系统服务器备机,医院信息系统业务连续性讨论:双机热备、RAC还是x86一体机?...
- CK8和CK18的含义
- c# ref和out参数
- python turtle画小狗_python-turtle-画雪花
- 软考信息安全工程师考试大纲第二版
- 2017年蓝桥杯软件B组省赛试题
- java eml_javamail读取并解析eml文件
- Android解决Can't create handler inside thread that has not called Looper.prepare()
- python 合并工作簿_Excel:快速合并多张表格或多个文件(工作簿)的数据(附Python代码)...
- IDEA打开多个项目
- Caused by: java.net.ConnectException: Call From hadoop1/192.168.1.201 to hadoop1:8020 failed on conn
- 计算机网络安全-----Internet安全
- 股票查询小程序_以龙虎榜数据为例
- Linux进程监视器——htop详解
- 2021年双非通信方向的详细保研经历(北邮、上交、东南)
- 对于那些系统隐藏分区删除方法
- Cleave js 使用
- 买了新笔记本电脑-荣耀magicbookpro2019啦!!
热门文章
- Facebook 秘钥散列
- John McAfee:杀毒软件已死
- 稳坐全球第一的小米手环,爆款背后的“护城河”是如何造就的?
- 首次超越人类!“读图会意”这件事,AI比你眼睛更毒辣 | 达摩院
- `spyder总是闪退?spyder打不开?spyder又又又又又出错啦?
- 网站后台没有提示声怎么办_收藏 | 没有 PS 怎么办?10个在线作图网站,轻松搞定图片设计...
- JAVA 创建文件和文件夹,删除文件和文件夹,复制文件和文件夹,移动文件和文件夹的实用工具类
- C++string用法
- Redis —— SpringBoot工程下的GeoHash工具类
- 计算机图形基础学答案,计算机图形学基础答案全.pdf