微信小程序 数组 Json 导出到excel

本文分享如何利用微信小程序将Json数组转化为符合Excel规范的XML,通过writeFile实现临时文件存储,最终通过openDocument功能打开。适合小型数据快速导出,适合初学者实践。

好多年没有搬砖了,最近看微信小程序比较好玩,就试着搞几个小程序玩一玩。因为是业余的,主要是面向需求编程,面向百度/bing编程。不过一些相关的代码的奇奇怪怪的问题,搜索引擎都会最终带领我到CSND/ JianShu / CNblogs这几个地方 。

最近有一个需求是把Json数组导出到excel, 搜了一下,主要有2种路线:

1.  预先处理好的xls文件,存入wx cloud,

2. 云函数,安装node-xlsx或是excel-export 类库(node类库),这总方式更加灵活,可以读取数据库然后直接生成excel保存到wx cloud

然后获取云路径,复制到浏览器下载,或是直接用 wx.open打开;

也有狠人,直接用把这两个库放或是js-xlsx 的dist复制出来,例如js-xlsx的xlsx.full.min.js引入到微信页面中,通过前端搞定,好像也可以的。不过就是更麻烦一点,而且比较咱空间,几百K就没了。

但实际上我的需求很简单,没那么复制,所以我最终选择了一个更简单的路线:

1. 小数据直接复制到剪贴板

2. 稍微多一点的数据写入xml.xls,用微信打开,步骤:

Json数组--> 遍历生成xml格式的excel --> wx.getFileSystemManager.writeFile-->wx.openDocument 代码不多,逻辑也简单。上图:

要在微信小程序导出 Excel 文件,您可以使用第三方库js-xlsx来处理Excel文件的生成。下面是一个简单的示例代码,演示如何从微信小程序导出一个包含数据的 Excel 文件: 1. 首先,在小程序项目中安装js-xlsx库。在项目根目录下执行以下命令: ``` npm install xlsx ``` 2. 在需要导出 Excel 的页面或组件中引入xlsx库: ```javascript const XLSX = require('xlsx'); ``` 3. 假设您有一个包含数据的数组 `data`,您可以使用以下代码来创建一个工作簿并将数据导出Excel 文件: ```javascript // 创建工作簿 const workbook = XLSX.utils.book_new(); // 创建数据表 const worksheet = XLSX.utils.json_to_sheet(data); // 将数据表添加到工作簿 XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1'); // 将工作簿转换为二进制对象 const excelBuffer = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' }); // 保存文件 wx.saveFile({ tempFilePath: wx.env.USER_DATA_PATH + '/temp.xlsx', // 临时文件路径 filePath: 'temp.xlsx', // 文件名 success: function (res) { // 导出成功后的逻辑 console.log('导出成功', res.savedFilePath); }, fail: function (err) { // 导出失败后的逻辑 console.log('导出失败', err); } }); ``` 以上代码将生成一个临时的 Excel 文件,并将其保存到用户的本地路径中。您可以根据自己的需求进行文件名和保存路径的设置。 请注意,此示例假设您已经在小程序的配置文件中启用了npm支持,并且已经安装了微信开发者工具的最新版本。
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值