uniapp小程序下载并导出excel

javascript 复制代码
<button @click="confirmExport">导出excel</button>
javascript 复制代码
    confirmExport() {
      let header =  {
          "X-Access-Token": uni.getStorageSync(ACCESS_TOKEN), //自定义请求头信息
        } 
      let url = "http"/......"; // 后端API地址
      uni.request({
          url: url,
          method: "POST",
          // method:"GET",
          header: header,
          responseType: "arraybuffer",
        })
        .then((res) => {
          const now = new Date();
          const fileName = now.toISOString() + ".xlsx";
          const arrayBuffer = res[1].data; // utf-8编码的文件数据
          const base64String = uni.arrayBufferToBase64(arrayBuffer);
          const buffer = uni.base64ToArrayBuffer(base64String);
          let fs = uni.getFileSystemManager();
          const filePath = wx.env.USER_DATA_PATH + "/" + fileName;
          fs.writeFile({
            filePath: filePath,
            data: buffer,
            encoding: "binary",
            success: (res) => {
              console.log("文件保存成功");
              uni.openDocument({
                filePath: filePath,
                fileType: 'xlsx',
                showMenu: true,
                success: (res) => {
                  console.log("文件预览成功");
                  // 构建分享内容
                },
                fail: (error) => {
                  console.error("文件保存失败", error);
                },
              });
            },
          });
        });
    },

缺陷:iOS 报错 officeImportErrorDomain错误912

解决方案:

1.点击右上角的三个点,选择"用其他应用打开",可选择WPS打开,即可浏览

原因:

iOS 不能打开 `.doc` `.xls` `.ppt` 类型的文档

微信小程序的 接口wx.openDocument 支持打开office相关文件, 但是 IOS端不支持旧版 97-2003版的格式,需要打开office文件的统一上传新版pptx, docx, xlsx格式的文件, 不要用ppt, doc, 和xls

相关推荐
黄华SJ520it9 小时前
139小程序商城模式开发
小程序·软件需求·系统开发
Greg_Zhong9 小时前
详细说下小程序中使用canvas的体验
小程序·canvas绘制·canvas绘制内容溢出·绘制内容模拟器不正常·绘制内容真机正常
小羊Yveesss12 小时前
2026 多门店小程序如何提升效率?连锁门店降本增效实操指南,数字化转型必看
大数据·小程序
2501_9419820512 小时前
提高私域转化率:如何通过 API 自动发送小程序卡片?
小程序·机器人·自动化·企业微信·rpa
MY_TEUCK15 小时前
【AI开发】从0到1写一个uni-app Vue3 小程序开发的Skill:用法、流程与踩坑复盘
人工智能·uni-app
雪芽蓝域zzs16 小时前
uni-app x uts类转换
uni-app
码视野16 小时前
完全开源-支持二开-可做毕业论文-家政服务预约小程序
小程序
码视野16 小时前
全开源-健身运动预约小程序 — 从需求到原型的全栈实践
小程序
游戏开发爱好者817 小时前
深入理解iOSTime Profiler:提升iOS应用性能的关键工具
android·ios·小程序·https·uni-app·iphone·webview
tianxiaxue117 小时前
微信小程序如何跟企微互通
微信小程序·小程序·企业微信