React项目,基于antd读取excel文件

介绍

SheetJS js-xlsx 是一款能够读写多种格式表格的插件,浏览器支持良好,并且能在多个语言平台上使用

GitHub地址GitHub - SheetJS/js-xlsx: SheetJS Community Edition -- Spreadsheet Toolkit

1.选用xlsx组件

    npm install xlsx --save

 

2.在页面中导入xlsx

    import *as XLSXfrom 'xlsx';

页面导入截图

3.编写相关方法

onImportExcel = file => {

        let data = [];// 存储获取到的数据

        // 通过FileReader对象读取文件

      const fileReader =new FileReader();

      fileReader.readAsBinaryString(file);  //二进制

      fileReader.onload = event => {

     try {

                    const {result } = event.target;

                // 以二进制流方式读取得到整份excel表格对象

                  const workbook = XLSX.read(result, {type:'binary' });

                // 遍历每张工作表进行读取(这里默认只读取第一张表)

                 for (const sheet in workbook.Sheets) {

                    if (workbook.Sheets.hasOwnProperty(sheet)) {

                        // 利用 sheet_to_json 方法将 excel 转成 json 数据

                      data =data.concat(XLSX.utils.sheet_to_json(workbook.Sheets[sheet]));

                    // break; // 如果只取第一张表,就取消注释这行

        }

}

    console.log(data);

    }catch (e) {

// 这里可以抛出文件类型错误不正确的相关提示

      console.log('文件类型不正确');

      return;

    }

 };

}

4.react中组件调用

<Form.Item label="报表上传">

    <Upload name="excel" action="" listType="text"  accept="file" beforeUpload={this.onImportExcel}     showUploadList={true}>

    <Button>

        <Icon type="upload" />点击上传报表

    </Button>

    </Upload>

</Form.Item>
作者:Sabertor
链接:https://www.jianshu.com/p/dfa58474cd46
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值