Import data
Bring an Excel workbook into eode as a dataset, choosing exactly which tables on which sheets come in.
Where: Datasets→Import Data
The Import Data window reads an .xlsx workbook, finds the tables on each sheet, and lets you tick
the ones you want. A tinted preview of the sheet shows exactly which cells each table covers. What you
tick becomes a dataset.
Open the window
The same window opens from four places. What it makes depends on where you open it.
| From | Makes | After a successful import |
|---|---|---|
| Datasets→Import Data | A new dataset | The new dataset opens. |
| Datasets→dataset→+→Import data | Tables added to this dataset | The window closes and the Resources list updates. |
| Upload new datasets and attach them to this model while describing a new model | A new dataset, attached to the model | The window closes. See Load your data. |
| Model Library→DATA CONNECTIONS→New connection | A model built from the workbook | See Data connections. |
Esc or ✕ closes the window, except while an import is running. Clicking outside it does nothing.
Upload a workbook
Pick Microsoft Excel
Click Microsoft Excel under POPULAR. It's the only source you can pick; every other card says COMING SOON. Search data sources… at the top finds a card by name; with no match it reads No sources match your search and offers Clear search. If the cards don't load, the window reads Couldn't load data sources with Retry.
Drop the file
Drop an .xlsx on Drop a file here, or click to browse, or click it to pick one. The zone says
.XLSX · max 100 MB. The file is read straight away (Uploading and reading the file…), then the
zone shows its name and a line like 3 sheets detected · 4 tables · 8 KB.
Continue
Click Continue →. Back goes back a step.
If the upload is refused, the zone reads Upload failed —, the reason, and "Pick the file again to retry." See When an upload is refused.
Pick the tables
The next step has three parts: the sheets on the left, the tables found on the sheet you clicked, and a preview of that sheet.
Sheets. Click a sheet name to show its tables. A sheet's box ticks or clears all its tables. The
right edge shows how many of its tables are ticked (2/3), entire sheet when the sheet comes in as
one table, or — when no table was found. All sheets ticks or clears every listed sheet, and
Filter sheets… narrows the list by name.
Tables. Each card shows the table's name and colour, N rows × N cols, its range (like A1:F40), up
to eight column names (+N more for the rest), and a line saying how eode read it. A badge marks the
kind:
| Badge | What it is | Ticked to start? |
|---|---|---|
| (none) | A table eode found on the sheet: a header row and rows of data. | Yes |
| Excel table | A table defined in the workbook itself. | Yes |
| Report panel | Part of a report-style sheet, read out as one tidy table. See below. | Yes |
| Notes | Text with no header row. | No |
| Not a table | Cells that don't line up as a table. The reason says why, for example "cells scattered (12% of the grid is filled)". | No |
| empty | A table with a header and no data rows. | No |
A table defined in the workbook can be listed twice: once as Excel table and once as a found table
over the same cells, like Products rows 1-3. Both start ticked; untick one, or the dataset gets the same
table twice.
Anything not ticked to start can still be ticked. A table with no header row of its own gets columns
named col_1, col_2, and so on.
Column names from. A table with more than one header row shows this select. Pick the row whose
labels should name the columns, like Row 3 · Product. The column chips update and the table is ticked.
Entire sheet. The dashed card at the bottom brings the whole sheet in as one table, exactly as it is. It replaces the sheet's tables: ticking it clears them, and ticking a table clears it. It's ticked to start only when the sheet lists no other card. A sheet that holds only notes, like the Notes sheet in the clip, starts with nothing ticked.
Check the preview
Under PREVIEW the sheet appears as a grid with column letters and row numbers. Each ticked table is tinted in its card's colour, with its header row in bold. An unticked table is struck through. Click any cell of a table in the preview to tick or untick it.
The preview shows 200 rows and 40 columns at a time. The line above it says where you are
(rows 1–3 of 3 · cols 1–6 of 6), and the rows and cols arrows move the window. Cells show
their first 28 characters, and decimals show two places.
Report-style sheets
A sheet laid out as a report, with line items down one column and periods across a header row, comes in as Report panel tables: one per panel of the report. Each becomes a tidy table with one row per line item and one column per period, after five leading columns:
| Column | Holds |
|---|---|
line_item | The line item's label. |
section | The heading the line item sits under. |
level | How far the label is indented. |
is_total | Whether the row is a total. Totals are kept and marked. |
sourceCell | The cell the label came from, like Report!B83. |
When you bring such a sheet in as Entire sheet into a new dataset, the tidy tables are added alongside it. Adding tables to an existing dataset brings in only what you tick.
Review and import
- Click Add source. The workbook is added to the list on the left and Review opens. "Only selected resources are pulled into the model."
- Check the summary, like
1 source · 4 resources selected — importing creates one dataset from all of them.Every ticked table is listed as sheet · table, under a count like4 of 5 tables selected. - To bring in another workbook as part of the same dataset, click Add data source and repeat. Each workbook is a card in the list on the left, with a button to remove it.
- Type a Dataset name, or leave it empty to use the date and time the window opened, shown as
Dataset 2026-10-05 14:30. - Click Import data →.
While it runs, the button reads Building model…. If it fails, the footer reads Build failed — and the reason.
Adding to an existing dataset skips the name. The summary ends "— importing adds them to this dataset.", and the tables are added to the dataset as it is now.
When an upload is refused
| The zone says Upload failed — and | What to do |
|---|---|
the file must be .xlsx | Save the workbook as Excel Workbook (.xlsx). .xls and .xlsm are refused. |
| the file is over 100 MB | Remove sheets or rows the decision doesn't need. |
| the upload timed out | Check your connection and pick the file again. An upload gives up after 120 seconds. |
| the file could not be read | The file isn't a workbook eode can open, or it has no visible sheet with data. Open it in Excel, save it again as .xlsx, and unhide the sheets you need. |
Limits
| What | Limit |
|---|---|
| File type | .xlsx only |
| File size | 100 MB |
| Upload time | 120 seconds |
| Rows read per sheet | 50,000 on eode.app. Rows past that are dropped, and the resource shows "Truncated from N rows at the source." |
| Hidden sheets | Not read, and not listed. |
| Preview | 200 rows × 40 columns at a time |
A model won't build on a table that was cut at the row limit. Building one refuses with "A model built on part of your data would be wrong without saying so, so nothing was built." Cut each sheet down to the rows the decision needs (a period, a site, a product family), then import it again. Loading a workbook straight into a model has its own limits; see Start from a workbook.
A model reads one dataset. To use several workbooks in one model, import them together in one window so they become one dataset; see Load your data.
Related
- Datasets: find, share and organize what you've imported
- Edit a dataset: change the imported rows
- Data connections: which sources are available
- Load your data: bind a dataset to a model