中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

小程序是如何讀取excel表格數據和存儲到云數據庫的

發布時間:2020-04-21 15:02:40 來源:億速云 閱讀:1370 作者:三月 欄目:web開發

下文給大家帶來小程序是如何讀取excel表格數據和存儲到云數據庫" target="_blank" href="http://undefined">云數據庫的,希望能夠給大家在實際運用中帶來一定的幫助,云數據庫涉及的東西比較多,理論也不多,網上有很多書籍,今天我們就用億速云在行業內累計的經驗做一個解答。

小程序是如何讀取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
    小程序是如何讀取excel表格數據和存儲到云數據庫的
    對應的wxml代碼如下
    小程序是如何讀取excel表格數據和存儲到云數據庫的
  • 2,編寫文件選擇和文件上傳方法
    小程序是如何讀取excel表格數據和存儲到云數據庫的
    上圖的chooseExcel就是我們的excel文件選擇方法。
    uploadExcel就是我們的文件上傳方法,上傳成功以后會返回一個fildID。我們把fildID傳遞給我們的jiexi方法,jiexi方法如下
  • 3 把fildID傳遞給云函數
    小程序是如何讀取excel表格數據和存儲到云數據庫的

二,解下來就是定義我們的云函數了。

  • 1,首先我們要新建云函數
    小程序是如何讀取excel表格數據和存儲到云數據庫的
    如果你還不知道如何新建云函數,可以翻看下我之前寫的文章,也可以看我錄的視頻《5小時入門小程序云開發》
    如下圖所示的excel就是我們創建的云函數
    小程序是如何讀取excel表格數據和存儲到云數據庫的
  • 2,安裝node-xlsx依賴庫
    小程序是如何讀取excel表格數據和存儲到云數據庫的
    如上圖所示,右鍵excel,然后點擊在終端中打開。 打開終端后,
    輸入   npm install node-xlsx   安裝依賴。可以看到下圖安裝中的進度條
    小程序是如何讀取excel表格數據和存儲到云數據庫的
    這一步需要你電腦上安裝過node.js并配置npm命令。
  • 3,安裝node-xlsx依賴庫完成
    小程序是如何讀取excel表格數據和存儲到云數據庫的

三,編寫云函數

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

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,要先創建數據表
    小程序是如何讀取excel表格數據和存儲到云數據庫的

  • 2,有時候如果老是解析失敗,可能是有的電腦需要在云函數里也要初始化云開發環境
    小程序是如何讀取excel表格數據和存儲到云數據庫的

四,解析并上傳成功

如我的表格里有下面三條數據
小程序是如何讀取excel表格數據和存儲到云數據庫的
點擊上傳按鈕,并選擇我們的表格文件
小程序是如何讀取excel表格數據和存儲到云數據庫的
上傳成功的返回如下,可以看出我們添加了3條數據到數據庫
小程序是如何讀取excel表格數據和存儲到云數據庫的

添加成功效果圖如下
小程序是如何讀取excel表格數據和存儲到云數據庫的

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

再來帶大家看下流程圖

小程序是如何讀取excel表格數據和存儲到云數據庫的

看了以上關于小程序是如何讀取excel表格數據和存儲到云數據庫的,如果大家還有什么地方需要了解的可以在億速云行業資訊里查找自己感興趣的或者找我們的專業技術工程師解答的,億速云技術工程師在行業內擁有十幾年的經驗了。

 

 


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

玉龙| 特克斯县| 友谊县| 怀宁县| 玉田县| 永新县| 元氏县| 石泉县| 蕲春县| 民县| 新沂市| 迁西县| 攀枝花市| 齐齐哈尔市| 城固县| 卫辉市| 东乡族自治县| 祥云县| 西藏| 淮北市| 乐昌市| 牟定县| 邯郸市| 鄂伦春自治旗| 岳普湖县| 托克逊县| 全州县| 道真| 岳池县| 遵义市| 鱼台县| 罗定市| 绥化市| 长白| 襄城县| 抚远县| 阿合奇县| 安徽省| 沾益县| 额尔古纳市| 巴塘县|