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

相关推荐
夜流冰10 小时前
Excel - MS Support for Excel: 2 Collaborate
数据库·windows·excel
恩创软件开发10 小时前
创业日常2026-1-8
java·经验分享·微信小程序·小程序
LingRannn17 小时前
【vim 中如何替换】
编辑器·vim·excel
iOS阿玮18 小时前
AppStore卡审依旧存在,预计下周将逐渐恢复常态!
uni-app·app·apple
开发加微信:hedian11618 小时前
推客与分销场景下的系统架构实践:如何支撑高并发与复杂业务规则
小程序
yesyesido19 小时前
智能文件格式转换器:文本/Excel与CSV无缝互转的在线工具
开发语言·python·excel
郑州光合科技余经理19 小时前
开发实战:海外版同城o2o生活服务平台核心模块设计
开发语言·git·python·架构·uni-app·生活·智慧城市
行走的陀螺仪19 小时前
在UniApp H5中,实现路由栈的持久化
前端·javascript·uni-app·路由持久化·路由缓存策略
影子打怪20 小时前
uniapp通过plus.geolocation.watchPosition获取的坐标格式转换
uni-app
游九尘20 小时前
在小程序中实现横竖屏切换的配置方法,实时监听页面宽度
小程序