Reactjs Table to CSV file convert

To convert a table to a CSV file in React, you can use the TableToCsv component below. This component uses the toString() method of the Blob object to convert a table to a CSV file and prompt the user to download it.

Here is an example of how you can use the TableToCsv component:

import React from 'react'; import TableToCsv from './TableToCsv'; function App() { return ( <div> <table id="myTable"> <tr> <th>Column 1</th> <th>Column 2</th> <th>Column 3</th> </tr> <tr> <td>Row 1, Column 1</td> <td>Row 1, Column 2</td> <td>Row 1, Column 3</td> </tr> <tr> <td>Row 2, Column 1</td> <td>Row 2, Column 2</td> <td>Row 2, Column 3</td> </tr> </table> <TableToCsv tableId="myTable" fileName="myTable.csv" /> </div> ); } export default App;

The TableToCsv component takes two props: tableId and fileName. tableId is the ID of the table that you want to convert to a CSV file, and fileName is the name of the CSV file that will be downloaded.

Here is the code for the TableToCsv component:

import React from 'react'; function TableToCsv(props) { const tableId = props.tableId; const fileName = props.fileName; function downloadCsv() { const table = document.getElementById(tableId); let csv = ''; for (let i = 0; i < table.rows.length; i++) { const rowData = table.rows[i].cells; for (let j = 0; j < rowData.length; j++) { csv += rowData[j].innerHTML + ','; } csv += '\n'; } const hiddenElement = document.createElement('a'); hiddenElement.href = 'data:text/csv;charset=utf-8,' + encodeURI(csv); hiddenElement.target = '_blank'; hiddenElement.download = fileName; hiddenElement.click(); } return <button onClick={downloadCsv}>Download CSV</button>; } export default TableToCsv;

I hope this helps! Let me know if you have any questions.

This website provides details about various informational News which are free of charge and legally available over the Internet and provide the information diffrent sites collection.