> For the complete documentation index, see [llms.txt](https://captivatehelp.newbluelive.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://captivatehelp.newbluelive.com/play-and-update-graphics/chapter-index-2.md).

# Legacy data controllers

These controllers predate the modern [Tables](/play-and-update-graphics/chapter-index-1/tables-overview.md) system but remain in Captivate so existing projects continue to open. Avoid creating new inputs with them — start new work with Tables.

**❗ IMPORTANT**\
These pages document the legacy Qt/C++ controllers reached via **General > Spreadsheet**, **General > JSON**, **General > XML**, and the **Productivity >** Google Sheets and Microsoft Excel entries (plus the **Sports >** siblings). The flow uses an older selector dialog that is distinct from the Tables controller’s unified **Load New Data** panel.

## What’s in this chapter

* [Legacy Spreadsheet / CSV controller](/play-and-update-graphics/chapter-index-2/legacy-spreadsheet-controller.md) — when an existing project uses **General > Spreadsheet**.
* [Legacy JSON controller](/play-and-update-graphics/chapter-index-2/legacy-json-controller.md) — when an existing project uses **General > JSON** or **Sports > JSON**.
* [Legacy XML controller](/play-and-update-graphics/chapter-index-2/legacy-xml-controller.md) — when an existing project uses **General > XML** or **Sports > XML**.
* [Legacy Google Sheets controller](/play-and-update-graphics/chapter-index-2/legacy-google-sheets-controller.md) — when an existing project uses **Productivity > Google > Sheets**.
* [Legacy Microsoft Excel controller](/play-and-update-graphics/chapter-index-2/legacy-microsoft-excel-controller.md) — when an existing project uses **Productivity > Microsoft > Excel**.

## When to migrate

For any new project, prefer [Tables](/play-and-update-graphics/chapter-index-1/tables-overview.md). The Tables controller:

* Reads CSV, Excel (`.xlsx`), JSON, XML, plain text, and SQLite from one **Browse** button.
* Adds in-controller column sorting, header context menus, and a recent-source list.
* Auto-refreshes web sources on a timer.
* Handles Google Sheets and Microsoft Excel Online with OAuth.

Existing projects that already use the legacy controllers do not need to be migrated immediately — the inputs continue to load. Plan migration to Tables when convenient.

## Related

* [Tables overview](/play-and-update-graphics/chapter-index-1/tables-overview.md)
* [Play and update graphics — section overview](/play-and-update-graphics/branch-index.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://captivatehelp.newbluelive.com/play-and-update-graphics/chapter-index-2.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
