【微信小程序】导出Excel文件

javascript 复制代码
// 导出
doOutExcel() {
  let fileName = '考勤列表'
  wx.request({
    url: 'XXX',
    method: 'POST',
    header: {
      "content-type": "application/json",
      "Authorization": "token " + wx.getStorageSync('userInfo').token
    },
    data: {}, // 请求参数
    responseType: "arraybuffer", 
    success: res => {
      console.log("res导出",res);
      const fs = wx.getFileSystemManager(); //获取全局唯一的文件管理器 
      fs.writeFile({ //写文件
        filePath: wx.env.USER_DATA_PATH + `/${fileName}.xlsx`,
        data: res.data,  // res.data就是获取到的二进制文件流
        encoding: "binary", //二进制流文件必须是 binary
        success(e) { 
          wx.openDocument({ // 打开文档
            filePath: wx.env.USER_DATA_PATH + `/${fileName}.xlsx`, //拿上面存入的文件路径
            showMenu: true, // 显示右上角菜单
            success: function(res) {
              console.log("打开文件",res); 
            },
          })
        }
      })
    }
  }) 
}

在安卓机上能正常预览文件,ios上出现"OfficeImportErrorDomain"错误912。此时文件已经保存到了手机,点击右上角三个点用其他方式打开就能看到正常的文件内容,在ios上预览出现了问题。

相关推荐
WangHappy2 天前
不写 Canvas 也能搞定!小程序图片导出的 WebView 通信方案
前端·微信小程序
小时前端2 天前
微信小程序选不了本地文件?用 web-view + H5 一招搞定
前端·微信小程序·uni-app
icebreaker3 天前
Weapp-vite:原生模式之外,多一种 Vue SFC 选择
前端·vue.js·微信小程序
icebreaker3 天前
重走 Vue 长征路 Weapp-vite:编译链路与 Wevu 运行时原理拆解
前端·vue.js·微信小程序
大米饭消灭者6 天前
Taro是怎么实现一码多端的【底层原理】
微信小程序·taro
FliPPeDround7 天前
Vitest Environment UniApp:让 uni-app E2E 测试变得前所未有的简单
微信小程序·e2e·前端工程化
FliPPeDround7 天前
微信小程序自动化的 AI 新时代:wechat-devtools-mcp 智能方案
微信小程序·ai编程·mcp
码云数智-大飞7 天前
如何创建自己的小程序,码云数智与有赞平台对比
微信小程序
luffy54597 天前
微信小程序页面使用类似filter函数的wxs语法
微信小程序·小程序
Slow菜鸟7 天前
微信小程序开发(二)目录结构完全指南
微信小程序·小程序