首页 > 编程语言 >微信小程序本地读取xls文件

微信小程序本地读取xls文件

时间:2024-07-25 10:18:25浏览次数:9  
标签:文件 const 读取 err 微信 获取 console xls

微信小程序本地读取xls文件: 其中用到一个js-xlsx库:https://docs.sheetjs.com/docs/demos/frontend/vue/ , 主要思路是

1. 通过  wx.chooseMessageFile 上传文件,获得一个临时地址 tempFilePath 。

(这个地址不能当作文件路径,让js-xlsx库读取,const workbook = XLSX.readFile('临时路径'); 行不通 )

2.但是这个临时路径可以通过,微信api把二进制内容获取到,即:fileSystemManager.readFile() 。

3.获取到文件二进制了,可以通过js-xlsx库读取, 

const wb = XLSX.read(arrayBuffer); const worksheet = wb.Sheets[wb.SheetNames[0]];  

 

例子:

1.下载js-xlsx库引入到小程序里面。

 

<button  capture-bind:tap="chooseFile">upload</button>

 

chooseFile(){
    // 获取文件系统管理器
    const fileSystemManager = wx.getFileSystemManager();
 
    // 选择文件
    wx.chooseMessageFile({
      count: 1,
      type: 'file',
      success(res) {
        // 获取文件路径
        const tempFilePath = res.tempFiles[0].path;
        console.log(tempFilePath);
        // 读取文件
        fileSystemManager.readFile({
          filePath: tempFilePath,
          success(readRes) {
            // 成功获取文件内容
            console.log('文件内容:', readRes.data);//文件arrayBuffer
            
            //https://docs.sheetjs.com/docs/demos/frontend/vue
            const wb = XLSX.read(readRes.data);

            const worksheet = wb.Sheets[wb.SheetNames[0]];
            const jsonData = XLSX.utils.sheet_to_json(worksheet);
            console.log(jsonData);
          },
          fail(err) {
            // 读取文件失败处理
            console.error('读取文件失败:', err);
          }
        });
      },
      fail(err) {
        // 选择文件失败处理
        console.error('选择文件失败:', err);
      }
    });

  },

 

 

结果:

 

 

 

 

 

 

 

 

百度搜索:

小程序获取本地存储文件

在微信小程序中获取本地存储文件,可以使用wx.getFileSystemManager获取文件系统管理器,然后使用readFile方法读取本地存储的文件内容。

以下是一个示例代码:

// 获取文件系统管理器
const fileSystemManager = wx.getFileSystemManager();
 
// 选择文件
wx.chooseMessageFile({
  count: 1,
  type: 'file',
  success(res) {
    // 获取文件路径
    const tempFilePath = res.tempFiles[0].path;
 
    // 读取文件
    fileSystemManager.readFile({
      filePath: tempFilePath,
      encoding: 'utf-8',
      success(readRes) {
        // 成功获取文件内容
        console.log('文件内容:', readRes.data);
      },
      fail(err) {
        // 读取文件失败处理
        console.error('读取文件失败:', err);
      }
    });
  },
  fail(err) {
    // 选择文件失败处理
    console.error('选择文件失败:', err);
  }
});

 

库:

https://docs.sheetjs.com/docs/demos/frontend/vue

 

所以思路能否,把文件小程序临时文件路径读取成 二进制数组 arraybuffer, 在交给 SheetsJS库处理 .

 

标签:文件,const,读取,err,微信,获取,console,xls
From: https://www.cnblogs.com/fps2tao/p/18321395

相关文章

  • 苹果微信分身:开启你的高效社交新时代
    在数字化浪潮中,社交软件已成为我们日常生活中不可或缺的一部分,而微信作为其中的佼佼者,更是承载了无数人的沟通与交流。然而,随着工作与私人生活的界限日益模糊,如何在苹果手机上高效管理多个微信账号成为了许多用户的共同需求。幸运的是,苹果微信分身功能应运而生,为用户带来了前所......
  • 如何在 Mac 上运行 Python 文件来读取 txt 文件并将其写入外部硬盘?
    我目前有一个充满了我想阅读的epub的文件夹,一个我已经阅读过并想再次阅读的epub的文件夹,以及一个相应的文件,其中每个文件都有epub文件的名称。问题是,这些文件夹仅位于我的外部硬盘上。我想要做的是让我的脚本解析这些文件夹中的epub列表,并在我的下载文件夹中创建最新的副......
  • 基于微信小程序+协同过滤推荐算法+SpringBoot+数据可视化的校园顺路代送平台设计和实
    博主介绍:✌全网粉丝50W+,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、P......
  • Spark EOF 错误(从 S3 读取 Parquet)- Spark 到 Pandas 的转换
    我正在将存储在S3中的近100万行作为parquet文件读取到数据帧中(存储桶中的数据大小为900mb)。根据值过滤数据帧,然后转换为pandas数据帧。涉及2个UDF(classify和transformDate)。我在运行此代码片段时收到错误eof。这段代码有什么问题?是我缺少一些火花设置还是UDF使用......
  • MATLAB 不读取 Parquet 文件,只是显示“无法读取 Parquet 文件”。我怎么还能读到它?
    我已经使用Pythonpolars'.write_parquet方法创建了一个镶木地板文件。它可以被Python读回,没有问题,MATLAB也可以使用读取信息关于parquetinfo文件,没有问题。但是,当我在MATLAB中运行parquetread实际加载时......
  • 天问物业ERP系统 ContractDownLoad.aspx 任意文件读取漏洞复现
    0x01产品简介天问互联科技有限公司以软件开发和技术服务为基础,建立物业ERP应用系统,向物管公司提供旨在降低成本、保障品质、提升效能为目标的智慧物管整体解决方案,实现物管公司的管理升级;以平台搭建和资源整合为基础,建立社区O2O服务平台,向物管公司提供旨在完善服务、方便业主......
  • 从excel列表读取图片,上传并匹配--基于03版
    主要思路:1.读取所有图片,先传到服务器本地,用row行编号命名图片名称.2.传到图片服务器,获取图片url3.与excel其它数据行匹配---------------不知为啥首尾两行不进去的分割线------------------------------publicvoidimportExcel(MultipartFilefiles)throwsException......
  • 微信小程序开发:项目程序代码构成
    ✨✨欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨......
  • 微信小程序--14(生命周期)
    目录一、生命周期二、生命周期分类三、生命周期函数四、生命周期函数的分类一、生命周期生命周期(lifecycle)指的是一个对象从创建到运行,再到销毁的整个过程,强调的是一个时间段。比如一个人从出生到死亡的整个过程就可以叫做这个人的生命周期。小程序的从启动到关闭......
  • 计算机项目/基于微信小程序的食堂点餐系统的设计与实现/毕业/程序设计/管理系统
    基于微信小程序的食堂点餐系统的设计与实现摘要在互联网普及的时代里, 应用程序、软件系统都出现在我们的生活中, 这些软件应用程序每时每刻 为我们的生活提供方便。其中小程序是移动运用中既满足日常使用又具有方便快捷的特点的应用。如今 在疫情下生活的我们用尽一切去......