Skip to main content

Concepts Overview

This section is the "why" behind SheetXL. You don't need it to get something on screen (that's what Getting Started is for), but a few ideas here make everything else click.

The big one: everything in SheetXL plugs into one engine. A workbook is a plain TypeScript object with no UI attached. The spreadsheet UI is one way to look at it. So are a script, the command line, and an AI agent. They all talk to the same engine, so they all get the same answers.

AI agentsA real engine as agent toolsmcp · skillsYour appStudio, a vanilla page, or your own React UIstudio-mui · studio-vanilla · react · grid-reactScriptingMacros and custom functionsscripting · scripting-muiCommand lineOne-liners and runner scriptssheetxl · runnerFilesxlsx, csv, json, and sxlio · io-xlsxDatabasesLive data through the APIdb.queryOne engineWorkbooks, calculation, rangessdkformulasprimitivesRuns anywhere JavaScript runsbrowser · Node · Web Worker

That's why you can put several views on one workbook, build your own UI, or skip the UI entirely and run the same code in Node, in a worker, or from an agent.

Saving works the same way. Models turn themselves into JSON; where the bytes actually go (a download, a file, your backend) is a separate, pluggable choice.

What's in this section​

  • The Object Model: workbooks, sheets, ranges, cells, and views, and how to get from one to the next.
  • The (Data) Science of SheetXL: a spreadsheet and a data science library on one engine: ICellRange for the live sheet, IRange for the math, and how they hand off.
  • Live Scripting: macros and custom functions written in TypeScript, inside the spreadsheet.
  • Our Ecosystem: every package behind the map above, what each is for, and how each is licensed.

Ready to build something? The How To Guides are task by task.