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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

从mysql读取数据保存成excel_小程序读取excel表格数据,并存储到云数据库

發布時間:2024/9/19 数据库 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 从mysql读取数据保存成excel_小程序读取excel表格数据,并存储到云数据库 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近一直比較忙,答應大家的小程序解析excel一直沒有寫出來,今天終于忙里偷閑,有機會把這篇文章寫出來給大家了。

老規矩先看效果圖

效果其實很簡單,就是把excel里的數據解析出來,然后存到云數據庫里。說起來很簡單。但是真的做起來的時候,發現其中要用到的東西還是很多的。不信。。。。 那來看下流程圖

流程圖

通過流程圖,我看看到我們這里使用了云函數,云存儲,云數據庫。

流程圖主要實現下面幾個步驟1,使用wx.chooseMessageFile選擇要解析的excel表格

2,通過wx.cloud.uploadFile上傳excel文件到云存儲

3,云存儲返回一個fileid 給我們

4,定義一個excel云函數

5,把第3步返回的fileid傳遞給excel云函數

6,在excel云函數里解析excel,并把數據添加到云數據庫。

可以看到最神秘,最重要的就是我們的excel云函數。

所以我們先把前5步實現了,后面重點講解下我們的excel云函數。

一,選擇并上傳excel表格文件到云存儲

這里我們使用到了云開發,使用云開發必須要先注冊一個小程序,并給自己的小程序開通云開發功能。這個知識點我講過很多遍了,還不知道怎么開通并使用云開發的同學,去翻下我前面的文章,或者看下我錄的講解視頻《5小時入門小程序云開發》1,先定義我們的頁面

頁面很簡單,就是一個按鈕如下圖,點擊按鈕時調用chooseExcel方法,選擇excel

對應的wxml代碼如下

2,編寫文件選擇和文件上傳方法

上圖的chooseExcel就是我們的excel文件選擇方法。

uploadExcel就是我們的文件上傳方法,上傳成功以后會返回一個fildID。我們把fildID傳遞給我們的jiexi方法,jiexi方法如下3 把fildID傳遞給云函數

二,解下來就是定義我們的云函數了。1,首先我們要新建云函數

如果你還不知道如何新建云函數,可以翻看下我之前寫的文章,也可以看我錄的視頻《5小時入門小程序云開發》

如下圖所示的excel就是我們創建的云函數

2,安裝node-xlsx依賴庫

如上圖所示,右鍵excel,然后點擊在終端中打開。 打開終端后,

輸入 npm install node-xlsx 安裝依賴。可以看到下圖安裝中的進度條

這一步需要你電腦上安裝過node.js并配置npm命令。3,安裝node-xlsx依賴庫完成

三,編寫云函數

我把完整的代碼貼出來給大家

const cloud = require('wx-server-sdk')

cloud.init()

var xlsx = require('node-xlsx');

const db = cloud.database()

exports.main = async(event, context) => {

let {

fileID

} = event

//1,通過fileID下載云存儲里的excel文件

const res = await cloud.downloadFile({

fileID: fileID,

})

const buffer = res.fileContent

const tasks = [] //用來存儲所有的添加數據操作

//2,解析excel文件里的數據

var sheets = xlsx.parse(buffer); //獲取到所有sheets

sheets.forEach(function(sheet) {

console.log(sheet['name']);

for (var rowId in sheet['data']) {

console.log(rowId);

var row = sheet['data'][rowId]; //第幾行數據

if (rowId > 0 && row) { //第一行是表格標題,所有我們要從第2行開始讀

//3,把解析到的數據存到excelList數據表里

const promise = db.collection('users')

.add({

data: {

name: row[0], //姓名

age: row[1], //年齡

address: row[2], //地址

wechat: row[3] //wechat

}

})

tasks.push(promise)

}

}

});

// 等待所有數據添加完成

let result = await Promise.all(tasks).then(res => {

return res

}).catch(function(err) {

return err

})

return result

}

上面代碼里注釋的很清楚了,我這里就不在啰嗦了。

有幾點注意的給大家說下1,要先創建數據表

image.png2,有時候如果老是解析失敗,可能是有的電腦需要在云函數里也要初始化云開發環境

四,解析并上傳成功

如我的表格里有下面三條數據

點擊上傳按鈕,并選擇我們的表格文件

上傳成功的返回如下,可以看出我們添加了3條數據到數據庫

添加成功效果圖如下

到這里我們就完整的實現了小程序上傳excel數據到數據庫的功能了。

再來帶大家看下流程圖

如果你有遇到問題,可以在底部留言,我看到后會及時解答。后面我會寫更多小程序云開發實戰的文章出來。也會錄制本節的視頻出來,敬請關注。

總結

以上是生活随笔為你收集整理的从mysql读取数据保存成excel_小程序读取excel表格数据,并存储到云数据库的全部內容,希望文章能夠幫你解決所遇到的問題。

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