# Sheets: Binding cells

> Projecting cells into the store.

Glider documentation · Data · Web page: https://cgglider.com/docs/sheets/binding/

Sections of this page: [Import](https://cgglider.com/docs/sheets.md) · [The grid](https://cgglider.com/docs/sheets/grid.md) · [Formulas](https://cgglider.com/docs/sheets/formulas.md) · [Formatting](https://cgglider.com/docs/sheets/formatting.md) · [Binding cells](https://cgglider.com/docs/sheets/binding.md) · [Live outputs](https://cgglider.com/docs/sheets/feed.md)

A binding never points at a file. A bound cell is addressed by the sheet's stable id, the tab's stable key and an A1 reference, and is projected read-only into page data:

```text
sheets.<sheetId>.<tabKey>.<A1>

example: sheets.s_9f3a.results.B4
```

Because the projection lands in ordinary page data, every existing consumer picks it up with no new plumbing: node bindings, repeat groups, the live runtime and the wiring reports.

A formula cell projects its result, recalculated whenever the sheet changes; an error projects as its code ("#N/A"). A cell filled by a spilled array can be bound like any other.

- Bind by arming a field and clicking the cell in the Binder's sheet pane.
- The rail row shows how many cells of a sheet are bound.
- The sheets key is stripped from the Data tab's JSON view — it is generated, not authored.
