Реагируйте js: как преобразовать количество записей в целое число в Экспорт всех в Excel - PullRequest
0 голосов
/ 10 марта 2019

Я использую функцию экспорта всех данных в Excel для экспорта данных таблицы React в лист Excel. Все данные вставляются в строковом формате, но я хотел, чтобы количество записей сохранялось в целочисленном формате, но в строковом формате.

Экспорт всего в код Excel:

<div id="excelLayer">
    <Workbook filename='DownloadedReport.xlsx' element={<a href="javascript:void(null)" className='excel_div'>Export all to Excel</a>}>
    <Workbook.Sheet data={this.state.data} name="Table Data">
    <Workbook.Column label="From" value="senderID"/>
    <Workbook.Column label="To" value="receiverID"/>
    <Workbook.Column label="Transaction File" value="fileName"/>
    <Workbook.Column label="Transaction Date" value="transationDate"/>
    <Workbook.Column label="Record Count" value="recordCount"/>
    <Workbook.Column label="Status" value="status"/>
    </Workbook.Sheet>
    </Workbook>
</div>

React table Код столбца количества записей: этот код используется для сортировки столбцов количества записей.

{Header: 'Record Count',accessor: 'recordCount', style: {textAlign: "center"},
  sortMethod: (a, b) => {
    if (isNaN(a) || isNaN(b)) {
      return a > b ? 1 : -1;
      }
      return a - b;
    }
  },

Экспортированные данные Excel:

enter image description here

Как обработать это в коде, чтобы данные автоматически сохранялись как целые числа?

1 Ответ

0 голосов
/ 10 марта 2019

Можете ли вы убедиться, что вы задаете значение recordCount в виде строки?

Я пытался использовать act-excel-workbook с целочисленными значениямии скачанный Excel правильный.И если я использую строку, в Excel есть строковые значения.

ПРИМЕЧАНИЕ. Предполагая, что ваш «recordCount» всегда int, я использовал parseInt.Если это может быть float, пожалуйста, измените <Workbook.Column label="recordTotal" value={row => parseInt(row.recordTotal)} /> соответственно.

import React, { Component } from 'react';
import './App.css';
import Workbook from 'react-excel-workbook'

class App extends Component {

  render() {
    const data1 = [
      {
        recordTotal: '123',
        status: 'Not started',
      },
      {
        recordTotal: '12',
        status: 'in progress',
      },
      {
        recordTotal: '111',
        status: 'Completed',
      }
    ]

    return (
      <div className="App">
        <Workbook filename="example.xlsx" element={<a href="javascript:void(null)" className='excel_div'>Export all to Excel</a>}>
          <Workbook.Sheet data={data1} name="Sheet A">
            <Workbook.Column label="recordTotal" value={row => parseInt(row.recordTotal)}  />
            <Workbook.Column label="status" value="status" />
          </Workbook.Sheet>
        </Workbook>

      </div>
    );
  }
}

export default App;

Ниже приведен загруженный файл Excel.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...