antd本地上传excel文件并读取文件的数据转为json

1.写一个上传

这里直接用upload组件即可

javascript 复制代码
<Upload {...uploadProps} maxCount={1} accept={".xlsx"}>
                      <Button icon={<UploadOutlined />}>
                        {`${formatMessage({id: 'clk_upload'}, {file: formatMessage({id: 'excel_file'})})}`}
                      </Button>
                    </Upload>

2.写props

javascript 复制代码
const uploadProps: any = {
    onRemove: (file: any) => {
      const index = fileList.indexOf(file);
      const newFileList = fileList.slice();
      newFileList.splice(index, 1);
      setFileList(newFileList);
    },
    beforeUpload: (file: any) => {
      let reader = new FileReader();
      reader.onload = function(event: any) {
        let data = new Uint8Array(event.target.result);
        let workbook = XLSX.read(data, {type: 'array'});
        let worksheet = workbook.Sheets[workbook.SheetNames[0]];
        let jsonData = XLSX.utils.sheet_to_json(worksheet, {header: 1});
      reader.readAsArrayBuffer(file);
      setFileList(file?.name?.includes('xlsx') ? [file]: []);
      return false;
    },
    fileList
  };

beforeUpload函数里处理上传的数据转成Uint8Array,读取文件中的第一个表,使用.utils.sheet_to_json方法读出json数据,具体在进行处理即可。

相关推荐
北山有鸟13 小时前
linux设备全解析
linux·运维·服务器
shanql13 小时前
系统安装:安装Ubuntu 26.04 LTS
linux·ubuntu
红茶要加冰13 小时前
五、流程控制之循环
linux·运维·shell
fpcc13 小时前
Linux命令——lsof分析说明
linux·服务器
Promise微笑13 小时前
Geo专家于磊:Json-LD优化实战SOP与双核四驱体系
大数据·人工智能·重构·json
专注VB编程开发20年14 小时前
json和python元组,列表,字典对比
开发语言·python·json·php
cui_ruicheng14 小时前
Linux网络编程(二):网络数据传输基本流程
linux·服务器·网络
怀旧,14 小时前
【Linux网络编程】15. Reactor 反应堆模式
linux·网络·php
小赵不会秃头14 小时前
数据结构Day 06:线性结构、库操作及 Makefile 完整学习笔记
java·linux·数据结构·算法·面试
雨田大大14 小时前
Windows11下IDEA运行后端时,端口被占用的解决方法
linux·运维·服务器