目的:由于項目的架構是uniapp,是以在開發小程式的情況下,采用了小程式的雲函數來解析excel表格(撸碼不易,請筆芯點個贊)。
雲開發的好處:
開發者可以使用雲開發開發微信小程式、小遊戲,無需搭建伺服器,即可使用雲端能力。雲開發為開發者提供完整的原生雲端支援和微信服務支援,弱化後端和運維概念,無需搭建伺服器,使用平台提供的 API 進行核心業務開發,即可實作快速上線和疊代。關于雲開發的更多了解,可以去其官方文檔查閱。
采用雲開發解析excel的步驟:
1、先開通雲開發平台。
2、在雲項目建立雲函數。
3、編寫雲函數。
4、用戶端中使用wx.chooseMessageFile選擇表格,通過wx.cloud.uploadFile上傳excel,在雲函數裡解析excel,并把資料添加到雲資料庫。
1、填寫小程式appid,選擇建立雲開發模闆,點選建立按鈕。
2、建立成功後會進入這樣一個界面,然後我們就可以點選雲開發按鈕,進入開通階段,暫時可以選擇免費版本的。
1、在cloudfunctions的目錄下右鍵點選選擇建立Node.js雲函數,建立一個雲函數
2、這樣我們就建立好了一個excel雲函數了。
3、在excel的目錄下右鍵點選選擇外部終端視窗,輸入npm install node-xlsx 安裝依賴。安裝完成後,看到node-xlsx的版本号就算安裝成功了。
首先我們先配置miniprogram目錄下的app.js的環境變量,代碼如下:
配置完成後編寫雲函數的步驟如下:
1、編寫excel的index.js。貼上代碼如下:
2、編寫好excel的index.js雲函數後,發現其中有個問題,就是每次拿到excel的内容丢到資料庫時,如果不清空以前的資料庫,資料庫資料就會不斷的增加或者被覆寫,是以我們又建立了一個雲函數deleData,建立方法跟建立excel函數一樣,但雲函數deleData的index.js代碼如下:
3、編寫好所有的雲函數後,可以右鍵點選剛好已經搞好的兩個雲函數deleData和excel選擇上傳并部署,部署成功後,以後如果要來修改對應的index.js的業務邏輯的時候,把修改好的index.js增量上傳就好。
1、先初始化雲開發的環境
1、使用wx.chooseMessageFile來選擇微信對話清單中的檔案,wx.chooseMessageFile上傳檔案,wx.cloud.callFunction調用我們前面所建立的雲函數excel并成功傳回解析後的資料,完整代碼如下:
2、以上的例子傳回的結果跟雲平台的資料庫完全一緻,效果截圖如下:
傳回來的資料,這裡是以數組的形式來展示