日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

导出测试点的信号名_小程序导出数据到excel表,借助云开发云函数实现excel数据的保存...

發布時間:2024/9/19 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 导出测试点的信号名_小程序导出数据到excel表,借助云开发云函数实现excel数据的保存... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我們在做小程序開發的過程中,可能會有這樣的需求,就是把我們云數據庫里的數據批量導出到excel表里。如果直接在小程序里寫是實現不了的,所以我們要借助小程序的云開發功能了。這里需要用到云函數,云存儲和云數據庫。可以說通過這一個例子,把我們微信小程序云開發相關的知識都用到了。

老規矩,先看效果圖


上圖就是我們保存用戶數據到excel生成的excel文件。

實現思路

  • 1,創建云函數

  • 2,在云函數里讀取云數據庫里的數據

  • 3,安裝node-xlsx類庫(node類庫)

  • 4,把云數據庫里讀取到的數據存到excel里

  • 5,把excel存到云存儲里并返回對應的云文件地址

  • 6,通過云文件地址下載excel文件

一,創建excel云函數

關于云函數的創建,我這里不多說了。如果你連云函數的創建都不知道,建議你去小程序云開發官方文檔去看看。或者看下我錄制的云開發入門的視頻:https://edu.csdn.net/course/detail/9604

創建云函數時有兩點需要注意的,給大家說下

  • 1,一定要把app.js里的環境id換成你自己的

  • 2,你的云函數目錄要選擇你對應的云開發環境(通常這里默認選中的)
    不過你這里的云開發環境要和你app.js里的保持一致

二,讀取云數據庫里的數據

我們第一步創建好云函數以后,可以先在云函數里讀取我們的云數據庫里的數據。

  • 1,先看下我們云數據庫里的數據

  • 2,編寫云函數,讀取云數據庫里的數據(一定要記得部署云函數)

  • 3,成功讀取到數據

把讀取user數據表的完整代碼給大家貼出來。

//?云函數入口文件
const?cloud?=?require('wx-server-sdk')
cloud.init({
??env:?"test-vsbkm"
})
//?云函數入口函數
exports.main?=?async(event,?context)?=>?{
??return?await?cloud.database().collection('users').get();
}

三,安裝生成excel文件的類庫 node-xlsx

通過上面第二步可以看到我們已經成功的拿到需要保存到excel的源數據,我們接下來要做的就是把數據保存到excel

  • 1,安裝node-xlsx類庫


    這一步需要我們事先安裝node,因為我們要用到npm命令,通過命令行

npm?install?node-xlsx

可以看出我們安裝完成以后,多了一個package-lock.json的文件

四,編寫把數據保存到excel的代碼,

下圖是我們的核心代碼


這里的數據是我們查詢的users表的數據,然后通過下面代碼遍歷數組,然后存入excel。這里需要注意我們的id,name,weixin要和users表里的對應。???for?(let?key?in?userdata)?{
??????let?arr?=?[];
??????arr.push(userdata[key].id);
??????arr.push(userdata[key].name);
??????arr.push(userdata[key].weixin);
??????alldata.push(arr)
????}

還有下面這段代碼,是把excel保存到云存儲用的

????//4,把excel文件保存到云存儲里
????return?await?cloud.uploadFile({
??????cloudPath:?dataCVS,
??????fileContent:?buffer,?//excel二進制文件
????})

下面把完整的excel里的index.js代碼貼給大家,記得把云開發環境id換成你自己的。

const?cloud?=?require('wx-server-sdk')
//這里最好也初始化一下你的云開發環境
cloud.init({
??env:?"test-vsbkm"
})
//操作excel用的類庫
const?xlsx?=?require('node-xlsx');

//?云函數入口函數
exports.main?=?async(event,?context)?=>?{
??try?{
????let?{userdata}?=?event

????//1,定義excel表格名
????let?dataCVS?=?'test.xlsx'
????//2,定義存儲數據的
????let?alldata?=?[];
????let?row?=?['id',?'姓名',?'微信號'];?//表屬性
????alldata.push(row);

????for?(let?key?in?userdata)?{
??????let?arr?=?[];
??????arr.push(userdata[key].id);
??????arr.push(userdata[key].name);
??????arr.push(userdata[key].weixin);
??????alldata.push(arr)
????}
????//3,把數據保存到excel里
????var?buffer?=?await?xlsx.build([{
??????name:?"mySheetName",
??????data:?alldata
????}]);
????//4,把excel文件保存到云存儲里
????return?await?cloud.uploadFile({
??????cloudPath:?dataCVS,
??????fileContent:?buffer,?//excel二進制文件
????})

??}?catch?(e)?{
????console.error(e)
????return?e
??}
}

五,把excel存到云存儲里并返回對應的云文件地址

我們上面已經成功的把數據存到excel里,并把excel文件存到云存儲里。可以看下效果。


我們這個時候,就可以通過上圖的下載地址下載excel文件了。
我們打開下載的excel
其實到這里就差不多實現了基本的把數據保存到excel里的功能了,但是我們要下載excel,總不能每次都去云開發后臺吧。所以我們接下來要動態的獲取這個下載地址。

六,獲取云文件地址下載excel文件


通過上圖我們可以看出,我們獲取下載鏈接需要用到一個fileID,而這個fileID在我們保存excel到云存儲時,有返回,如下圖。我們把fileID傳給我們獲取下載鏈接的方法即可。
  • 1,我們獲取到了下載鏈接,接下來就要把下載鏈接顯示到頁面

  • 2,代碼顯示到頁面以后,我們就要復制這個鏈接,方便用戶粘貼到瀏覽器或者微信去下載

下面把我這個頁面的完整代碼貼給大家

Page({
??onLoad:?function(options)?{
????let?that?=?this;
????//讀取users表數據
????wx.cloud.callFunction({
??????name:?"getUsers",
??????success(res)?{
????????console.log("讀取成功",?res.result.data)
????????that.savaExcel(res.result.data)
??????},
??????fail(res)?{
????????console.log("讀取失敗",?res)
??????}
????})
??},

??//把數據保存到excel里,并把excel保存到云存儲
??savaExcel(userdata)?{
????let?that?=?this
????wx.cloud.callFunction({
??????name:?"excel",
??????data:?{
????????userdata:?userdata
??????},
??????success(res)?{
????????console.log("保存成功",?res)
????????that.getFileUrl(res.result.fileID)
??????},
??????fail(res)?{
????????console.log("保存失敗",?res)
??????}
????})
??},

??//獲取云存儲文件下載地址,這個地址有效期一天
??getFileUrl(fileID)?{
????let?that?=?this;
????wx.cloud.getTempFileURL({
??????fileList:?[fileID],
??????success:?res?=>?{
????????//?get?temp?file?URL
????????console.log("文件下載鏈接",?res.fileList[0].tempFileURL)
????????that.setData({
??????????fileUrl:?res.fileList[0].tempFileURL
????????})
??????},
??????fail:?err?=>?{
????????//?handle?error
??????}
????})
??},
??//復制excel文件下載鏈接
??copyFileUrl()?{
????let?that=this
????wx.setClipboardData({
??????data:?that.data.fileUrl,
??????success(res)?{
????????wx.getClipboardData({
??????????success(res)?{
????????????console.log("復制成功",res.data)?//?data
??????????}
????????})
??????}
????})
??}
})

給大家說下上面代碼的步驟。

  • 1,下通過getUsers云函數去云數據庫獲取數據

  • 2,把獲取到的數據通過excel云函數把數據保存到excel,然后把excel保存的云存儲。

  • 3,獲取云存儲里的文件下載鏈接

  • 4,復制下載鏈接,到瀏覽器里下載excel文件。

到這里我們就完整的實現了把數據保存到excel的功能了。

文章有點長,知識點有點多,但是大家把這個搞會以后,就可以完整的學習小程序云開發的:云函數,云數據庫,云存儲了。可以說這是一個綜合的案例。

有什么不懂的地方,或者有疑問的地方,請在文章底部留言,我看到都會及時解答的。后面我還會出一系列關于云開發的文章,敬請關注。

總結

以上是生活随笔為你收集整理的导出测试点的信号名_小程序导出数据到excel表,借助云开发云函数实现excel数据的保存...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产精品第5页 | 国产精品久久久久久精 | 欧美亚洲自拍偷拍 | 女女h百合无遮涩涩漫画软件 | 成年人黄色免费视频 | 少妇一晚三次一区二区三区 | 天天上天天干 | 四虎影院一区二区 | 国产视频一区在线观看 | 91看视频| 日本熟妇毛耸耸xxxxxx | 国产成人精品一区二区三区在线观看 | 成人h动漫精品一区二区下载 | 午夜快播 | 无码成人一区二区 | 色偷偷888欧美精品久久久 | 日韩一区精品 | 女王脚交玉足榨精调教 | 夜色综合| 91精品国产乱码久久久久久久久 | 国产一区二区在线视频 | 日韩成人无码 | 国产91页 | 少妇久久久久久被弄到高潮 | 黄网免费视频 | 色哟哟视频 | 一区二区免费av | 草草视频在线观看 | 任你操精品 | aise爱色av| 99久久精品国产成人一区二区 | 黄色网址国产 | 日韩高清一区 | 黄av资源| 日韩在线免费播放 | 少妇又色又紧又大爽又刺激 | 日韩午夜毛片 | 国产农村妇女毛片精品久久麻豆 | 国产精品久久一 | 新婚之夜玷污岳丰满少妇在线观看 | 亚洲一区高清 | 日韩精品一区二区三区不卡 | 日韩精品一区二区三区久久 | 黄色一级片视频 | 欧美区日韩区 | 亚洲性欧美 | 日韩成人久久 | 一本久草 | 欧美乱码精品一区二区 | 日韩五十路 | 求个黄色网址 | 在线播放成人 | 成人免费观看网站 | 亚洲视屏 | 国产精品欧美久久久久天天影视 | 久久婷婷五月综合色国产香蕉 | 亚洲一卡二卡三卡 | 精品午夜一区二区 | 精品国模一区二区三区 | 成人尤物| 大香伊人 | 天天综合亚洲 | 中国大陆一级毛片 | 黄色a在线| 国产免费不卡视频 | 欧美在线免费观看视频 | 国产在线www | 黄色裸体网站 | 日本熟妇毛茸茸丰满 | 波多野结衣欲乱上班族 | 久久综合99 | 久久婷婷一区二区 | 亚洲激情视频 | 国产精品一区二区小说 | 黄色香蕉网站 | 黄色日韩视频 | 操伊人| 制服.丝袜.亚洲.中文.综合懂色 | 男女激情网址 | 日本中文字幕在线看 | 国产精品一级 | 啄木乌欧美一区二区三区 | 色噜噜视频 | 翔田千里一区二区 | 深夜福利日韩 | 久久久穴 | 久久调教 | 日韩在线观看视频网站 | 日本在线天堂 | 国产中文字幕免费 | 少妇全黄性生交片 | 中国毛片视频 | 国产一区日本 | 手机在线观看免费av | 国产三级三级看三级 | 日韩大片一区二区 | 91成人亚洲 | 91手机在线视频 | 牛av|