useSpreadsheet

useSpreadsheet exposes some of the internal API via hooks

Wrap your app in SpreadsheetProvider to use useSpreadsheet hook

import { SpreadsheetProvider, CanvasGrid, useSpreadsheet } from "@rowsncolumns/spreadsheet";

const MySpreadsheet = () => {
  const {
    makeEditable,
    canEditCell,
    cancelEditor,
    focusSheet,
    getCellBounds,
    getCellDimensions,
    getContentfulGridRangeAroundCell,
    getNamedRanges,
    getNextFocusableCell,
    getRowHeight,
    getSelectionsFromFormula,
    getTableColumnNames,
    getTableNames,
    onEditorKeyDown,
    scrollToCell,
    setEditorValue,
    submitEditor,
    updateSelectionStartEndReference,
    tokenizer,
  } = useSpreadsheet();
  return (
    <CanvasGrid />
  );
};

const App = () => (
  <SpreadsheetProvider>
    <MySpreadsheet />
  </SpreadsheetProvider>
);
APIDescription

makeEditable

Manually trigger a cell to be in edit mode

canEditCell

Verify if a cell is editable, respects protected ranges

cancelEditor

Cancels edit mode

focusSheet

Trigger focus on the Spreadsheet

getCellBounds

Get relative position of a cell relative to container

getCellDimensions

Get dimension (x, y, width, height) of a cell

getContentfulGridRangeAroundCell

Get range around a specific cells that has content

getNamedRanges

Get all named ranges of a sheet

getNextFocusableCell

Get next available cell that can be focused. Skips hidden cells, rows and columns

getRowHeight

Returns row height of a rowIndex

getSelectionsFromFormula

Get all selections from text

getTableColumnNames

Helper function to retrieve table column names

getTableNames

Helper function to retrieve table names

onEditorKeyDown

Callback when user enters value in editor

scrollToCell

Scroll to a cell

setEditorValue

Imperatively set value in the editor

submitEditor

Submit value of a editor

updateSelectionStartEndReference

Internal function to update selection references

tokenizer

Tokenizer formulas to identify selections and structured references

Last updated