天天看點

#在uniapp上解析excel表格(基于微信的雲開發)

目的:由于項目的架構是uniapp,是以在開發小程式的情況下,采用了小程式的雲函數來解析excel表格(撸碼不易,請筆芯點個贊)。

雲開發的好處:

開發者可以使用雲開發開發微信小程式、小遊戲,無需搭建伺服器,即可使用雲端能力。雲開發為開發者提供完整的原生雲端支援和微信服務支援,弱化後端和運維概念,無需搭建伺服器,使用平台提供的 API 進行核心業務開發,即可實作快速上線和疊代。關于雲開發的更多了解,可以去其官方文檔查閱。

采用雲開發解析excel的步驟:

1、先開通雲開發平台。

2、在雲項目建立雲函數。

3、編寫雲函數。

4、用戶端中使用wx.chooseMessageFile選擇表格,通過wx.cloud.uploadFile上傳excel,在雲函數裡解析excel,并把資料添加到雲資料庫。

1、填寫小程式appid,選擇建立雲開發模闆,點選建立按鈕。

#在uniapp上解析excel表格(基于微信的雲開發)

2、建立成功後會進入這樣一個界面,然後我們就可以點選雲開發按鈕,進入開通階段,暫時可以選擇免費版本的。

#在uniapp上解析excel表格(基于微信的雲開發)

1、在cloudfunctions的目錄下右鍵點選選擇建立Node.js雲函數,建立一個雲函數

#在uniapp上解析excel表格(基于微信的雲開發)

2、這樣我們就建立好了一個excel雲函數了。

#在uniapp上解析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增量上傳就好。

#在uniapp上解析excel表格(基于微信的雲開發)
#在uniapp上解析excel表格(基于微信的雲開發)

1、先初始化雲開發的環境

1、使用wx.chooseMessageFile來選擇微信對話清單中的檔案,wx.chooseMessageFile上傳檔案,wx.cloud.callFunction調用我們前面所建立的雲函數excel并成功傳回解析後的資料,完整代碼如下:

2、以上的例子傳回的結果跟雲平台的資料庫完全一緻,效果截圖如下:

#在uniapp上解析excel表格(基于微信的雲開發)

傳回來的資料,這裡是以數組的形式來展示

#在uniapp上解析excel表格(基于微信的雲開發)