Imperative Spreadsheet API
As an escape hatch, we bundle an imperative API for the Spreadsheet to control spreadsheet states
How to use
import React, { useState } from 'react'
// Add css
import "@rowsncolumns/spreadsheet/dist/spreadsheet.min.css";
import { SpreadsheetProvider, CanvasGrid, useSpreadsheetApi } from "@rowsncolumns/spreadsheet"
import { SheetData, CellData } from "@rowsncolumns/spreadsheet-state"
const MySpreadsheet = () => {
const api = useSpreadsheetApi()
const [sheetData, setSheetData] =
useState<SheetData<CellData>>({});
const onChange = (sheetId, cell, value) => {
setSheetData(prev => {
// Update your sheet data
})
}
return (
<>
<button
onClick={() => {
// Get the effective value of a cell
const value = api?.getActiveSheet()
?.getRange({ rowIndex: 1, columnIndex: 1 })
.getEffectiveValue()
console.log('Cell value:', value)
// Or chain multiple operations
api?.getActiveSheet()
?.getRange({ rowIndex: 2, columnIndex: 2 })
.setValue("hello world")
.setFormat("backgroundColor", "#80FF08")
}}
>Update a cell</button>
<CanvasGrid onChange={onChange} />
</>
)
}
const App = () => {
return (
<SpreadsheetProvider>
<MySpreadsheet />
</SpreadsheetProvider>
)
}Batch updating Spreadsheet values
Export range to clipboard
Spreadsheet
Sheet
CellRange
Additional API Methods
Last updated