xlsx.full.js读取Excel的sheet数据转换成二维数组,sheet_to_array

  • 解析sheet数据为二维数组
  • 测试方法
  • 效果

鉴于js-xlsx.js没有XLSX.util.sheet_to_array()方法,于是自己实现了一个。

解析sheet数据为二维数组

// sheet_to_array的实现
function parseExcelSheetToArrays(sheet) {const Range = {x1: sheet['!ref'].split(':')[0].match(/^[A-Z]+/)[0],y1: sheet['!ref'].split(':')[0].match(/\d+$/)[0],x2: sheet['!ref'].split(':')[1].match(/^[A-Z]+/)[0],y2: sheet['!ref'].split(':')[1].match(/\d+$/)[0],};let tableDataArr = [];for (let y = Range.y1; y <= Range.y2; y++) { // 行遍历let rowArr = [];for (let x = Range.x1.charCodeAt(); x <= Range.x2.charCodeAt(); x++) { // 列遍历 TD:暂时只支持到A~Z列,有需要的自己优化let position = String.fromCharCode(x) + y;rowArr.push(sheet[position] ? sheet[position].v : null);}tableDataArr.push(rowArr);}return tableDataArr;
}

测试方法

function TestFn(){let file = document.getElementById('input').files[0]; // 获取文件let reader = new FileReader();// 读完后的事件reader.onload = function (e) {let data = e.target.result;// 使用XLSX.full.js去解析文件数据let wb = XLSX.read(data, { type: 'binary'}); //以二进制的方式解析let sheet0 = wb.Sheets[wb.SheetNames[0]]; //sheet0代表excel表格中的第1个工作表// 解析为二维数据let arr = parseExcelSheetToArrays(sheet0);console.log(arr);};// 读取文件reader.readAsBinaryString(file);
}

效果


xlsx.full.js读取Excel数据转换成二维数组,sheet_to_array相关推荐

  1. mysql数据表设计 对应成二维数组_结果集数据怎么转换成二维数组

    一.用java语言将结果集数据转换成二维数组 主要是用resultset对象的getRow()获得结果集中的行数 getMetaData().getColumnCount()  返回结果集的列数 参考 ...

  2. 数据转换成二维码并导出进Excel中和导入时解码二维码反转成数据

    数据转换成二维码并导出进Excel中和导入时解码二维码反转成数据 第一步在maven中配置需要的二维码jar包 1.1 谷歌提供的帮助类 1.2 关于二维码的工具类 1.3 测试类 第二步 在Exce ...

  3. 读取excel批量生成二维码

    昨天工作需要,让生成二维码,让用草料生成,就需要一个个的复制粘贴,有点麻烦.关键是量特别大,如果传统的复制粘贴要很长时间才可以. 后来想到用程序生成.于是百度了一下生成二维码的方法,别说还很简单,把代 ...

  4. 一维数组对象转成二维数组

    一.关于PHP把装着item为对象的一维数组转成二维数组的疑问 背景:新增帖子的时候,选择标签时,可以选择多个,后端接口是需要传入的是一个二维数组. /*** @Title 修改精选内容* @Para ...

  5. node + ts读取csv文件为二维数组

    node + TypeScript读取csv文件为二维数组 CSDN用户名:jcLee95 邮箱:291148484@163.com 原创不易,感谢点赞支持. 在数据分析的时候经常需要读取csv格式的 ...

  6. C++读取txt数据为二维数组 将数据保存到txt文本中

      C++读取txt数据为二维数组 保存txt文本数据     C++文件读写操作有:ofstream,ifstream,fstream: #include <fstream> ofstr ...

  7. 2022. 将一维数组转变成二维数组

    2022. 将一维数组转变成二维数组 给你一个下标从 0 开始的一维整数数组 original 和两个整数 m 和 n .你需要使用 original 中 所有 元素创建一个 m 行 n 列的二维数组 ...

  8. python二维列表的展开_python将三维数组展开成二维数组的实现

    这篇文章尝试用"曲线救国"的方法来解决二维数组叠加成三维数组的问题. 但天道有轮回,苍天绕过谁.好不容易把数组叠加在一块儿了,新的需求又出现了:将三维数组展开成二维数组.有借有还, ...

  9. php 多个一维数组合拼成二维数组的方法

    在开发过程中,需要整理数据,其中比较多操作是把各种数据整合到一组数据中.本文提供将多个一维数组合拼成二维数组的方法,提供完成代码及演示. 合拼方法代码如下,因需要使用函数可变参数,因此需要php版本5 ...

最新文章

  1. 百度地图轨迹回放,自定义路书,边走边画线
  2. VCL界面控件DevExpress VCL Controls发布v18.2.5|附下载
  3. 配置aconda_centos 安装aconda
  4. dd命令测试linux磁盘io情况,【LINUX】正确的使用dd进行磁盘读写速度测试
  5. boost::hana::equal用法的测试程序
  6. JNI方面的笔记(未完待续)
  7. 【转】怎样判断自己掌握了学到的新知识
  8. 刷圈兔下载_刷圈兔app
  9. 百度android定位 602 key mcode不匹配,我的Android进阶之旅------百度地图学习:BDLocation.getLocType ( )值分析...
  10. Ubuntu安装Curl的方法
  11. 使用PowerShell 导出Exchange中的用户中用户信息到Office 365
  12. c-free显示运行程序错误怎么办_Mac电脑没声音了怎么办?解决Mac上声音问题
  13. 惠普电脑u盘重装系统步骤_hp怎么用u盘重装系统|hp优盘装系统教程
  14. redis中数据类型的使用,并发问题,list重复插入问题,redis使用实例-简单消息队列和排名统计
  15. STM8L HALT与IWDG同时使用问题
  16. 智能家居内网服务器,手把手教你搭建自己的智能家居IOT系统
  17. 10家不错的iphone编程资源站
  18. python随机生成英文字母_在Python中生成随机字母
  19. What Makes a Great Maintainer of Open Source Projects?
  20. Java-生成动态图片验证码

热门文章

  1. IDEA调试程序的基本方法
  2. SSM学习——SpringBoot初学注意事项(14)
  3. 平安科技招聘专场| 15-30k! 大厂9大热门技术岗位任你选!
  4. 小程序Canvas生成分享海报避坑指南
  5. 从零开始建立 EMQ X MQTT 服务器 的 K8S 集群
  6. UE5ControlRig脚部IK匹配地面(FootIK)的简易实现
  7. 【官方固件】OPPO A37m刷机包_OPPO A37m线刷包
  8. Linux内核win_minmax代码解读
  9. C# DLL文件注册问题(涉及AxInterop.WMPLib.dll等)
  10. [语言思考]编程语言自举的意义