首页 > 建站教程 > 小程序、公众号 >  微信小程序导出base64格式的excel并自动打开正文

微信小程序导出base64格式的excel并自动打开

微信小程序导出base64格式的excel并自动打开,代码如下:


function goExportWages() {
  uni.$app.showLoading('正在导出...')
  uni.$app.ajax({
    api: uni.$api.taskUserExport(),
    data: {
      taskId: props.detail.id
    }
  }).then(res => {
    if(res.status === 200) {
      // 请求到的base64内容
      const base64Str = res.data.fileData
      // 转换base64
      const fsm = uni.getFileSystemManager()
      // 文件名,这里已经带了 xlsx 后缀,如果不带,需要自己加上
      const FILE_BASE_NAME = res.data.fileName
      const filePath = `${wx.env.USER_DATA_PATH}/${FILE_BASE_NAME}`
      fsm.writeFile({
        filePath: filePath,
        data: base64Str,
        // 这个可以根据需求,我这里是base64
        encoding: 'base64',
        success: res => {
          const sysInfo = wx.getSystemInfoSync()
          if (sysInfo.platform.toLowerCase().indexOf('windows') >= 0) {
            wx.saveFileToDisk({
              filePath: filePath,
              success: console.log,
              fail: console.error
            })
          } else {
            wx.openDocument({
              filePath: filePath,
              showMenu: true, // 需要添加showMenu允许用户导出
              success: console.log,
              fail: console.error
            })
          }
        },
        fail: e => {
          if (e.errMsg.indexOf('locked')) {
            uni.$app.showToast('文档已打开,请先关闭')
          }
        }
      })
    } else {
      uni.$app.showToast(res.message)
    }
    uni.$app.hideLoading()
  })
}