E企盈营销工具技术服务商 热线:4006-838-530

微信小程序云开发:使用excelexport导出excel

E企盈直播平台营销卖货系统

微信小程序云开发:使用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的格式其实是binaryconst 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-exportcd 该云函数的本地文件夹npm install excel-exportget_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;itableHead.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;iOutput.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复制到云函数的文件夹下

赞(0) 打赏
未经允许不得转载:E企盈小程序开发-热线:4006-838-530 » 微信小程序云开发:使用excelexport导出excel
分享到: 更多 (0)
E企盈小程序直播营销卖货系统
E企盈直播平台营销卖货系统

评论 抢沙发

E企盈小程序开发

联系我们联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏