I am trying to import an excel sheet with multiple columns having different set of data and display it in a react component.
Currently i am doing,
<ReactFileReader handleFiles={this.handleFiles} fileType={'.xlsx'}>
<button>Import</button>
</ReactFileReader>
and then
handleFiles = files =>{
var fileDisplayArea = this.refs.fileDisplayArea;
var reader = new FileReader();
reader.onload = function(e){
fileDisplayArea.innerHTML = reader.result;
}
reader.readAsText(files[0], 'utf-8');
}
Although this imports the file but when rendered it displays all garbage characters. Any help would be much appreciated.
Thanks,
Vikram
Hello everyone, in this post we will look at how to solve the React Convert Excel To Json problem in the programming language. import React, { useState } from "react"; import "./App. css"; import * as XLSX from "xlsx"; class ExcelToJson extends React. Component { constructor(props) { super(props); this.
There's a perfect library exactly for this ! It converts the excel data to JSON first, then renders it into a HTML table. Its called react-excel-renderer
npm install react-excel-renderer --save
import {ExcelRenderer, OutTable} from 'react-excel-renderer';
fileHandler = (event) => {
let fileObj = event.target.files[0];
//just pass the fileObj as parameter
ExcelRenderer(fileObj, (err, resp) => {
if(err){
console.log(err);
}
else{
this.setState({
cols: resp.cols,
rows: resp.rows
});
}
});
}
<OutTable data={this.state.rows} columns={this.state.cols} tableClassName="ExcelTable2007" tableHeaderRowClass="heading" />
Thats it ! Its done !
A demo for the same can be found here
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With