当前位置: 首页 > news >正文

前端表格解析方法

工具类文件

// fileUtils.tsimport { ref } from 'vue';
import * as xlsx from 'xlsx';interface RowData {[key: string]: any;
}export const tableData = ref<RowData[]>([]);export async function handleFileSelect(url: string): Promise<void> {try {const response = await fetch(url);const blob = await response.blob();const reader = new FileReader();reader.onload = (e: ProgressEvent<FileReader>) => {if (e.target && e.target.result) {const data = new Uint8Array(e.target.result as ArrayBuffer);const workbook = xlsx.read(data, { type: 'array' });const worksheet = workbook.Sheets[workbook.SheetNames[0]];const jsonData = xlsx.utils.sheet_to_json(worksheet, { header: 1 }) as any[][];// 提取标题并保持其顺序const headers = jsonData[0];console.log('Extracted Headers:', headers);// 处理行(从索引1开始跳过标题)jsonData.slice(1).forEach((row) => {const rowData: RowData = {};headers.forEach((header, index) => {rowData[header] = row[index];});tableData.value.push(rowData);});console.log('Processed Table Data:', tableData.value);}};reader.readAsArrayBuffer(blob);} catch (error) {console.error('获取或读取文件时出错:', error);}
}

调用方法

const url ='https://xxxxx.xlsx';await handleFileSelect(url);

在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Python酷库之旅-第三方库Pandas(037)
  • 【iOS】内存对齐
  • Windows版MySQL5.7解压直用(如何卸载更换位置重新安装)
  • 六边形动态特效404单页HTML源码
  • C语言-网络编程-UDP通信创建流程
  • 大数据之数据抽取架构演变过程
  • 数据结构 —— B树
  • 【BUG】已解决:WslRegisterDistribution failed with error: 0x800701bc
  • Qt Style Sheets-使用样式表自定义 Qt 部件
  • Freedom of Choice
  • R语言模型评估网格搜索
  • Linux网络——套接字与UdpServer
  • Haproxy服务
  • 第四周:机器学习笔记
  • 接口测试JMeter-1.接口测试初识
  • (十五)java多线程之并发集合ArrayBlockingQueue
  • [译] 怎样写一个基础的编译器
  • 【399天】跃迁之路——程序员高效学习方法论探索系列(实验阶段156-2018.03.11)...
  • 【Redis学习笔记】2018-06-28 redis命令源码学习1
  • 【跃迁之路】【477天】刻意练习系列236(2018.05.28)
  • Fabric架构演变之路
  • JavaScript设计模式系列一:工厂模式
  • JavaScript设计模式之工厂模式
  • java第三方包学习之lombok
  • MySQL常见的两种存储引擎:MyISAM与InnoDB的爱恨情仇
  • PAT A1120
  • PHP的类修饰符与访问修饰符
  • Python 反序列化安全问题(二)
  • 码农张的Bug人生 - 见面之礼
  • 前端每日实战:61# 视频演示如何用纯 CSS 创作一只咖啡壶
  • 前端相关框架总和
  • 如何设计一个微型分布式架构?
  • 实战:基于Spring Boot快速开发RESTful风格API接口
  • 小程序滚动组件,左边导航栏与右边内容联动效果实现
  • Redis4.x新特性 -- 萌萌的MEMORY DOCTOR
  • # MySQL server 层和存储引擎层是怎么交互数据的?
  • #565. 查找之大编号
  • #Datawhale AI夏令营第4期#AIGC方向 文生图 Task2
  • #pragma预处理命令
  • #控制台大学课堂点名问题_课堂随机点名
  • $.extend({},旧的,新的);合并对象,后面的覆盖前面的
  • (1)(1.11) SiK Radio v2(一)
  • (SpringBoot)第二章:Spring创建和使用
  • (附源码)计算机毕业设计SSM智慧停车系统
  • (蓝桥杯每日一题)平方末尾及补充(常用的字符串函数功能)
  • (十五)Flask覆写wsgi_app函数实现自定义中间件
  • (学习日记)2024.04.04:UCOSIII第三十二节:计数信号量实验
  • (一)springboot2.7.6集成activit5.23.0之集成引擎
  • (一)使用IDEA创建Maven项目和Maven使用入门(配图详解)
  • *上位机的定义
  • ./configure,make,make install的作用(转)
  • .NET CF命令行调试器MDbg入门(二) 设备模拟器
  • .NET 项目中发送电子邮件异步处理和错误机制的解决方案
  • .Net的DataSet直接与SQL2005交互
  • [ Algorithm ] N次方算法 N Square 动态规划解决