@rowsncolumns/toolkit
is dependent on @rowsncolumns/spreadsheet-state
package, and expects sheet data in type SheetData
format
import { createRowDataFromCSVFile } from "@rowsncolumns/toolkit";
const App = () => {
const handleChange = async (e) => {
const file = e.target.files[0]
const rowData = await createRowDataFromCSVFile(file)
const newSheetId = uuid()
onChangSheetData(prev => {
return {
...prev,
[newSheetId]: rowData
}
})
}
return (
<div>
<input type="file" onChange={handleChange} />
</div>
)
}
import { exportToCSV } from "@rowsncolumns/toolkit";
const App = () => {
const [ sheetData, onChangeSheetData] = useState<SheetData>()
return (
<div>
<button onClick={() => exportToCSV({ filename: 'csvfile', rowData: sheetData[1] }) }>Export to CSV</button>
<CanvasGrid />
</div>
)
}