<legend id='lm1Ll'><style id='lm1Ll'><dir id='lm1Ll'><q id='lm1Ll'></q></dir></style></legend>

        <small id='lm1Ll'></small><noframes id='lm1Ll'>

        <tfoot id='lm1Ll'></tfoot>

        <i id='lm1Ll'><tr id='lm1Ll'><dt id='lm1Ll'><q id='lm1Ll'><span id='lm1Ll'><b id='lm1Ll'><form id='lm1Ll'><ins id='lm1Ll'></ins><ul id='lm1Ll'></ul><sub id='lm1Ll'></sub></form><legend id='lm1Ll'></legend><bdo id='lm1Ll'><pre id='lm1Ll'><center id='lm1Ll'></center></pre></bdo></b><th id='lm1Ll'></th></span></q></dt></tr></i><div id='lm1Ll'><tfoot id='lm1Ll'></tfoot><dl id='lm1Ll'><fieldset id='lm1Ll'></fieldset></dl></div>
        • <bdo id='lm1Ll'></bdo><ul id='lm1Ll'></ul>

        反应表中的导出到 CSV 按钮

        时间:2023-09-06
          <tbody id='LVeJT'></tbody>
          <bdo id='LVeJT'></bdo><ul id='LVeJT'></ul>

            1. <small id='LVeJT'></small><noframes id='LVeJT'>

                • <legend id='LVeJT'><style id='LVeJT'><dir id='LVeJT'><q id='LVeJT'></q></dir></style></legend>
                  <i id='LVeJT'><tr id='LVeJT'><dt id='LVeJT'><q id='LVeJT'><span id='LVeJT'><b id='LVeJT'><form id='LVeJT'><ins id='LVeJT'></ins><ul id='LVeJT'></ul><sub id='LVeJT'></sub></form><legend id='LVeJT'></legend><bdo id='LVeJT'><pre id='LVeJT'><center id='LVeJT'></center></pre></bdo></b><th id='LVeJT'></th></span></q></dt></tr></i><div id='LVeJT'><tfoot id='LVeJT'></tfoot><dl id='LVeJT'><fieldset id='LVeJT'></fieldset></dl></div>
                  <tfoot id='LVeJT'></tfoot>
                  本文介绍了反应表中的导出到 CSV 按钮的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  寻找一种方法将导出到 CSV"按钮添加到作为 npmjs 包的 react-table (https://www.npmjs.com/package/react-table).

                  我需要添加一个自定义按钮,用于将表格数据导出为 csv 或 xls 格式的 excel 工作表?

                  解决方案

                  下面是集成的样子

                  从'react'导入反应;导入'react-dropdown/style.css'导入反应表/反应表.css"从react-table"导入 ReactTable;从react-csv"导入 {CSVLink};常量列 = [{标题:'名称',accessor: 'name',//基于字符串的值访问器!},{标题:'年龄',访问者:'年龄',}]类 AllPostPage 扩展 React.Component {构造函数(道具){超级(道具);this.download = this.download.bind(this);这个.state = {表属性:{所有数据:[{姓名":ramesh",年龄":12"},{姓名":账单",年龄":13"},{姓名":阿伦",年龄":9"},{姓名":凯西",年龄":21"}]},数据下载:[]};}下载(事件){const currentRecords = this.reactTable.getResolvedState().sortedData;var data_to_download = []for (var index = 0; index < currentRecords.length; index++) {让 record_to_download = {}for(var colIndex = 0; colIndex < columns.length ; colIndex ++) {record_to_download[columns[colIndex].Header] = currentRecords[index][columns[colIndex].accessor]}data_to_download.push(record_to_download)}this.setState({ dataToDownload: data_to_download }, () => {//点击 CSVLink 组件触发 CSV 下载this.csvLink.link.click()})}使成为() {返回 

                  <button onClick={this.download}>下载</按钮></div>

                  <ReactTable ref={(r)=>this.reactTable = r}数据={this.state.tableproperties.allData} 列={columns} 可过滤defaultFilterMethod={(过滤器, 行) =>String(row[filter.id]).toLowerCase().includes(filter.value.toLowerCase())}/></div></div>}}导出默认的 AllPostPage;

                  这也适用于过滤器.

                  Looking for a way to add an "Export to CSV" button to a react-table which is an npmjs package (https://www.npmjs.com/package/react-table).

                  I need to add a custom button for exporting the table data to an excel sheet in the csv or xls format?

                  解决方案

                  Here is how integration will look like

                  import React from 'react';
                  import 'react-dropdown/style.css'
                  import 'react-table/react-table.css'
                  import ReactTable from "react-table";
                  import {CSVLink} from "react-csv";
                  
                  const columns = [
                     {
                         Header: 'name',
                         accessor: 'name', // String-based value accessors!
                     },
                     {
                         Header: 'age',
                         accessor: 'age',
                  
                    }]
                  class AllPostPage extends React.Component {
                      constructor(props) {
                         super(props);
                         this.download = this.download.bind(this);
                         this.state = {
                            tableproperties: {
                               allData: [
                                  {"name": "ramesh","age": "12"},
                                  {"name": "bill","age": "13"},
                                  {"name": "arun","age": "9"},
                                  {"name": "kathy","age": "21"}
                               ]
                            },
                            dataToDownload: []
                         };
                      }
                  
                     download(event) {
                        const currentRecords = this.reactTable.getResolvedState().sortedData;
                        var data_to_download = []
                        for (var index = 0; index < currentRecords.length; index++) {
                           let record_to_download = {}
                           for(var colIndex = 0; colIndex < columns.length ; colIndex ++) {
                              record_to_download[columns[colIndex].Header] = currentRecords[index][columns[colIndex].accessor]
                           }
                           data_to_download.push(record_to_download)
                        }
                        this.setState({ dataToDownload: data_to_download }, () => {
                           // click the CSVLink component to trigger the CSV download
                           this.csvLink.link.click()
                        })
                      } 
                  
                      render() {
                         return <div>
                                   <div>
                                      <button onClick={this.download}>
                                          Download
                                      </button>
                                   </div>
                                   <div>
                                      <CSVLink
                                          data={this.state.dataToDownload}
                                          filename="data.csv"
                                          className="hidden"
                                          ref={(r) => this.csvLink = r}
                                          target="_blank"/>
                  
                                   </div>
                                   <div>
                                      <ReactTable ref={(r) => this.reactTable = r}
                                                  data={this.state.tableproperties.allData} columns={columns} filterable
                                                  defaultFilterMethod={(filter, row) =>
                                                      String(row[filter.id]).toLowerCase().includes(filter.value.toLowerCase())}
                                      />
                                   </div>
                                </div>
                      }
                  }
                  
                  export default AllPostPage;
                  

                  This will work with filters as well.

                  这篇关于反应表中的导出到 CSV 按钮的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:将 reactjs 与 requirejs 一起使用 下一篇:如何让反应路由器响应 404 状态码?

                  相关文章

                • <i id='4zdPc'><tr id='4zdPc'><dt id='4zdPc'><q id='4zdPc'><span id='4zdPc'><b id='4zdPc'><form id='4zdPc'><ins id='4zdPc'></ins><ul id='4zdPc'></ul><sub id='4zdPc'></sub></form><legend id='4zdPc'></legend><bdo id='4zdPc'><pre id='4zdPc'><center id='4zdPc'></center></pre></bdo></b><th id='4zdPc'></th></span></q></dt></tr></i><div id='4zdPc'><tfoot id='4zdPc'></tfoot><dl id='4zdPc'><fieldset id='4zdPc'></fieldset></dl></div>
                    <tfoot id='4zdPc'></tfoot>
                    <legend id='4zdPc'><style id='4zdPc'><dir id='4zdPc'><q id='4zdPc'></q></dir></style></legend>
                      <bdo id='4zdPc'></bdo><ul id='4zdPc'></ul>

                      <small id='4zdPc'></small><noframes id='4zdPc'>