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 小时前
腾讯版小龙虾WorkBuddy试用体验——Excel处理效率翻倍
excel
大阳光男孩10 小时前
Uniapp+Vue3树形选择器
前端·javascript·uni-app
绝世唐门三哥10 小时前
uniapp系列-uniappp都有哪些生命周期?
vue.js·小程序·uniapp
LucaJu10 小时前
Java + EasyExcel 实现单个接口导出多个Excel
java·excel
CN.LG12 小时前
Excel 中把 Sheet页所有 “xxx” 字体标红
excel
人还是要有梦想的13 小时前
如何开发小程序介绍
小程序·notepad++
weixin_7042660513 小时前
读取Excel 和 显示预约人数
spring boot·mybatis·excel
roamingcode15 小时前
支付宝小程序数据可视化避坑指南:@antv/f2 踩坑与最佳实践
信息可视化·小程序·canvas·antv
2501_9307077815 小时前
使用C#代码在 Excel 中创建数据透视图
excel
2501_9159214316 小时前
HTTP和HTTPS协议全面解析:技术原理与安全应用
安全·http·ios·小程序·https·uni-app·iphone