下文給大家?guī)?lái)小程序是如何讀取excel表格數(shù)據(jù)和存儲(chǔ)到云數(shù)據(jù)庫(kù)" target="_blank" href="http://undefined">云數(shù)據(jù)庫(kù)的,希望能夠給大家在實(shí)際運(yùn)用中帶來(lái)一定的幫助,云數(shù)據(jù)庫(kù)涉及的東西比較多,理論也不多,網(wǎng)上有很多書(shū)籍,今天我們就用創(chuàng)新互聯(lián)在行業(yè)內(nèi)累計(jì)的經(jīng)驗(yàn)來(lái)做一個(gè)解答。
十多年來(lái),創(chuàng)新互聯(lián)不忘初心,以網(wǎng)站建設(shè)互聯(lián)網(wǎng)行業(yè)服務(wù)標(biāo)桿為目標(biāo),不斷提升技術(shù)設(shè)計(jì)服務(wù)水平,幫助客戶(hù)在互聯(lián)網(wǎng)推廣自己的產(chǎn)品、服務(wù)和品牌,為客戶(hù)創(chuàng)造價(jià)值從而實(shí)現(xiàn)自身價(jià)值!
效果其實(shí)很簡(jiǎn)單,就是把excel里的數(shù)據(jù)解析出來(lái),然后存到云數(shù)據(jù)庫(kù)里。說(shuō)起來(lái)很簡(jiǎn)單。但是真的做起來(lái)的時(shí)候,發(fā)現(xiàn)其中要用到的東西還是很多的。不信。。。。 那來(lái)看下流程圖流程圖
通過(guò)流程圖,我看看到我們這里使用了云函數(shù),云存儲(chǔ),云數(shù)據(jù)庫(kù)。
流程圖主要實(shí)現(xiàn)下面幾個(gè)步驟
- 1,使用wx.chooseMessageFile選擇要解析的excel表格
- 2,通過(guò)wx.cloud.uploadFile上傳excel文件到云存儲(chǔ)
- 3,云存儲(chǔ)返回一個(gè)fileid 給我們
- 4,定義一個(gè)excel云函數(shù)
- 5,把第3步返回的fileid傳遞給excel云函數(shù)
- 6,在excel云函數(shù)里解析excel,并把數(shù)據(jù)添加到云數(shù)據(jù)庫(kù)。
所以我們先把前5步實(shí)現(xiàn)了,后面重點(diǎn)講解下我們的excel云函數(shù)。
這里我們使用到了云開(kāi)發(fā),使用云開(kāi)發(fā)必須要先注冊(cè)一個(gè)小程序,并給自己的小程序開(kāi)通云開(kāi)發(fā)功能。這個(gè)知識(shí)點(diǎn)我講過(guò)很多遍了,還不知道怎么開(kāi)通并使用云開(kāi)發(fā)的同學(xué),去翻下我前面的文章,或者看下我錄的講解視頻《5小時(shí)入門(mén)小程序云開(kāi)發(fā)》









我把完整的代碼貼出來(lái)給大家
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,通過(guò)fileID下載云存儲(chǔ)里的excel文件
const res = await cloud.downloadFile({
fileID: fileID,
})
const buffer = res.fileContent
const tasks = [] //用來(lái)存儲(chǔ)所有的添加數(shù)據(jù)操作
//2,解析excel文件里的數(shù)據(jù)
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]; //第幾行數(shù)據(jù)
if (rowId > 0 && row) { //第一行是表格標(biāo)題,所有我們要從第2行開(kāi)始讀
//3,把解析到的數(shù)據(jù)存到excelList數(shù)據(jù)表里
const promise = db.collection('users')
.add({
data: {
name: row[0], //姓名
age: row[1], //年齡
address: row[2], //地址
wechat: row[3] //wechat
}
})
tasks.push(promise)
}
}
});
// 等待所有數(shù)據(jù)添加完成
let result = await Promise.all(tasks).then(res => {
return res
}).catch(function(err) {
return err
})
return result
}上面代碼里注釋的很清楚了,我這里就不在啰嗦了。
有幾點(diǎn)注意的給大家說(shuō)下
1,要先創(chuàng)建數(shù)據(jù)表

如我的表格里有下面三條數(shù)據(jù)
點(diǎn)擊上傳按鈕,并選擇我們的表格文件
上傳成功的返回如下,可以看出我們添加了3條數(shù)據(jù)到數(shù)據(jù)庫(kù)
添加成功效果圖如下
到這里我們就完整的實(shí)現(xiàn)了小程序上傳excel數(shù)據(jù)到數(shù)據(jù)庫(kù)的功能了。

看了以上關(guān)于小程序是如何讀取excel表格數(shù)據(jù)和存儲(chǔ)到云數(shù)據(jù)庫(kù)的,如果大家還有什么地方需要了解的可以在創(chuàng)新互聯(lián)行業(yè)資訊里查找自己感興趣的或者找我們的專(zhuān)業(yè)技術(shù)工程師解答的,創(chuàng)新互聯(lián)技術(shù)工程師在行業(yè)內(nèi)擁有十幾年的經(jīng)驗(yàn)了。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線(xiàn),公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。
網(wǎng)頁(yè)標(biāo)題:小程序是如何讀取excel表格數(shù)據(jù)和存儲(chǔ)到云數(shù)據(jù)庫(kù)的-創(chuàng)新互聯(lián)
網(wǎng)頁(yè)網(wǎng)址:http://chinadenli.net/article6/dgpsog.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、動(dòng)態(tài)網(wǎng)站、微信小程序、Google、電子商務(wù)、云服務(wù)器
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容