react 中使用ExportJsonExcel实现数据导出

项目中使用antd的Table组件,组件未提供导出Excel表格功能,但是这个功能又是比较常用的,于是便将该组件进行二次封装,使得组件在被调用时,直接配置导出按钮就可以讲数据导出
1.npm安装ExportJsonExcel

npm install js-export-excel

2.给表格组件添加按钮

 {this.props.dataConfig.exportBtnShow === true ? (
            <Button
              onClick={() => this.downloadExcel()}
              title="导出Excel表格"
              className="btn"
              type="primary"
            >
              导出全部
            </Button>
          ) : null}

3.在表格组件中实现

// 导出Excel
downloadExcel() {
    let option = {}
    if (this.props.dataConfig.dataSource) {
    // 文件名
      option.fileName = moment(new Date()).format('YYYY-MM-DD HH:mm:ss')
      option.datas = [
        {
        // 父组件传递的要导出的数据
          sheetData: this.props.dataConfig.dataSource,
          // sheet名字
          sheetName: 'sheet',
          //父组件传递过来的要导出的数据的key值是一个数组
          sheetFilter: this.props.dataConfig.sheetDataFilter,
          // Excel表格的表头,在父组件中传递的时候注意与key对应
          sheetHeader: this.props.dataConfig.sheetDataHeader
        }
      ]
    }
    // 创建一个ExportJsonExcel实例
    const exportExcel = new ExportJsonExcel(option)
   // 将数据保存到Excel并且导出
    exportExcel.saveExcel()
  }
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
React是一个用于构建用户界面的JavaScript库,而Ant Design(简称antd)是一个基于React的UI组件库。通过搭配使用React和antd,可以方便地实现数据导出功能。 首先,你需要在React项目引入antd组件库。可以通过npm或yarn安装antd,并在代码引入所需的组件。例如,你可以使用以下命令安装antd: ``` npm install antd ``` 然后,在你的React组件,你可以使用antd提供的Table组件来展示数据,并使用Button组件来触发导出操作。具体步骤如下: 1. 导入所需的antd组件: ```jsx import { Table, Button } from 'antd'; ``` 2. 定义表格的列和数据: ```jsx const columns = [ { title: '姓名', dataIndex: 'name', key: 'name', }, { title: '年龄', dataIndex: 'age', key: 'age', }, // 其他列... ]; const data = [ { key: '1', name: '张三', age: 18, }, { key: '2', name: '李四', age: 20, }, // 其他数据... ]; ``` 3. 在组件渲染表格和导出按钮: ```jsx class MyComponent extends React.Component { handleExport = () => { // 导出操作,可以在这里编写导出逻辑 }; render() { return ( <div> <Table columns={columns} dataSource={data} /> <Button onClick={this.handleExport}>导出数据</Button> </div> ); } } ``` 在上述代码,Table组件接收columns和dataSource作为属性,分别定义表格的列和数据。Button组件用于触发导出操作,通过onClick属性绑定一个处理函数handleExport。 你可以在handleExport函数编写导出数据的逻辑,例如将表格数据转换为Excel文件并下载。具体的导出逻辑可以根据你的需求来实现
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值