前端解析excel表格实现
1. 背景:在做react项目时,遇到一个解析excel的需求变更,把从原来后端解析变更为前端解析。
1.1 由于后端解析excel文件有安全隐患,因为项目中后端不允许上传文件,当然后端解析对前端来说是最简单的方式,只需要调用个api。接下来讲讲前端解析方式吧:
2.1 安装依赖
npm install xlsx
2.2 引用xlsx
import * as XLSX from 'xlsx'
2.3 前端解析代码
点击查看代码
const handleUploadFile = (files) => {
files.forEach((file)=>{
const reader = new FileReader();
reader.readAsBinaryString(file);
reader.onload = () => {
const binaryStr = reader.result;
const workbook = XLSX.read(binaryStr, { type: 'binary' })
const worksheet = workbook.Sheets[workbook.SheetNames[0]];
const fileData = XLSX.utils.sheet_to_json(worksheet);
/*
然后根据自己项目的导出的excel数据需求对fileData进行处理,
将处理好的数据用state接收,然后就可以渲染啦,要是还需要对文件类型做判断,
那对files做处理就行
*/
}
})
}
前端解析excel用第三方库的话就会简单点,以上就是前端解析方式啦
前端解析excel表格实现的更多相关文章
- 使用PHPExcel解析Excel表格
安装类库 从GitHub上下载PHPExcel类库 地址:https://github.com/PHPOffice/PHPExcel 解压后将Classes文件夹移动到ThinkPHP的extend目 ...
- JXL解析Excel表格内容到数据库
java中常用的解析Excel表格的工具一种是POI一种是JXL,POI功能强大,相比JXL稍嫌复杂,对表格样式的处理非常好:而JXL解析简单方便,对中文支持比较好. 工作中解析Excel内容上传到数 ...
- H5纯前端生成Excel表格
H5纯前端生成Excel表格方法如下: <!DOCTYPE html> <html> <head> <title></title> < ...
- Java使用POI解析Excel表格
概述 Excel表格是常用的数据存储工具,项目中经常会遇到导入Excel和导出Excel的功能. 常见的Excel格式有xls和xlsx.07版本以后主要以基于XML的压缩格式作为默认文件格式xlsx ...
- AngularJS之前端解析excel文件
之前发现一款比较强大的js解析excel插件SheetJS js-xlsx,一直未投入到生产中使用.最近有批量导入的需求,大致看了下文档,使用比较方便快捷,容易上手,现在以AngularJS为例,介绍 ...
- java后台读取/解析 excel表格
需求描述 前台需要上传excel表格,提交到后台,后台解析并返回给前台,展示在前台页面上! 前台部分代码与界面 <th style="padding: 7px 1px;width:15 ...
- vue 纯前端导出 excel 表格
在开发后台管理系统的时候,很多地方都要用到导出excel 表格,比如将table中的数据导出到本地,那么实现这种需求往往有两种方案: 一.后端开发一个下载链接,前端将这个链接放到 a 标签的 href ...
- 前端导出excel表格
前言近期项目有个新需求--将折线图表的数据加一个下载成excel表格的功能.以前下载功能都是调后台接口的,但是这个迭代,后台压力比较重,部分就交给了前端自己实现,下面就记录一下前端如何实现excel表 ...
- vue 利用xlsx、xlsx-style、file-saver实现前端导出excel表格 (包括设置单元格居中、边框等样式) antdesignvue、elementui、vxetable 等都适用
我用的方法是在表格的根组件外层赋一个div用来导出整个表格,所以antdesignvue.elementui.vxetable 或者原生的table写法应该全都适用,此处我用的框架为antdesign ...
- php解析Excel表格并且导入MySQL数据库
最近根据客户需求,需要增加一个导入Excel表格的功能,Excel中存放的是知识库中医知识的分类体系目录.是在thinkphp框架下编写的代码,用的是phpexcel第三方包.测试环境用的是xampp ...
随机推荐
- maven打jar包运行main方法
pom文件添加上这段 <build> <plugins> <plugin> <artifactId>maven-assembly-plugin</ ...
- Qt/C++推流程序自动生成网页远程查看实时视频流(视频文件/视频流/摄像头/桌面转成流媒体rtmp+hls+webrtc)
一.前言说明 推流程序将视频流推送到流媒体服务器后,此时就等待验证拉流播放,一般可以选择ffplay命令行播放或者vlc等播放器打开播放,也可以选择网页直接打开拉流地址播放,一般主流的浏览器都支持网页 ...
- C# 读取本地的TXT文件内容
using (StreamReader streamReader = new StreamReader("C:\\Users\\zhang\\Desktop\\新建文件夹\\远程开关.txt ...
- 串口的Hex/AscII发送与显示
首先,底层的数据传输都是字节流,所以不管选择什么方式,都会被分解为一个一个的字节. 1.选择Hex发送就代表你要发送的内容是纯数字,由程序完成String到Int再到Byte的转化.所以你应该保证每个 ...
- (八).NET6.0添加通用的Redis功能
1.添加包:StackExchange.Redis 2.在配置文件里面,新建Redis的有关配置信息 Name是别名,可以任意起.Ip是Redis的服务端地址,例如安装本地,就是127.0.0.1,端 ...
- ABP 系列总结
2019年第一次接触 ABP 框架,那时候还是比较笨重的旧版本的,后来升级到 vNext 版本,我也基于 ABP 模块化的设计方式开发了一些模块用于日常工作.这个系列主要为了系统地记录一下日常工作与学 ...
- 【YashanDB知识库】导入数据时报错:YAS-00008 type convert error:literal does not match format string
本文内容来自YashanDB官网,原文内容请见 https://www.yashandb.com/newsinfo/7901522.html?templateId=1718516 现象 将数据通过SQ ...
- 镜像分层复用与Dockerfile
- wireshark抓包学习
ip 过滤 ip.src_host ip.dst_host ip.addr mac 过滤 eth.src eth.dst eth.addr 端口过滤 tcp.port tcp.srcport tcp. ...
- [ARC 188A] ABC Symmetry
solution by XiangXunYi 思路推导 step 1 首先题目中操作二同时删掉 A,B,C 的条件相当于同时将三者数量减一,操作一删掉两个相同字符等同于将某一字符的数量减二,那么我们可 ...