An Excel Workbook source converts the workbooks stored in a file datasource into Lake tables: every sheet with data becomes a table the Lake can load. This page covers how the conversion works, the columns it adds, the limits a run can hit and what its failures mean; the setup steps are on Load files.
What a run converts depends on the layout you chose on the Tables step (How do sheets become tables?; see Group files into tables). Only the source's workbook files (. and .) are converted; other stored files are ignored.
The converted sheets are grouped like this:
| Layout | What the run writes |
|---|---|
| Each sheet | A folder for every workbook, and a folder for every sheet inside it. Every sheet stands on its own. |
| Union by sheet name | A folder for every sheet name, holding the same-named sheets of every workbook together as one group. |
| Union inside workbook | A folder for every workbook, holding that workbook's sheets together as one group. |
| Union all | One flat set with every sheet of every workbook written together. |
In the Union by sheet name layout the stored sheet files keep an uppercase . extension, which is how the Lake recognises that layout.
The separate Excel source uses its own form; see Connect Excel.
Four columns are added in front of the sheet's own columns:
file_name: the workbook file the row came from.sheet_name: the sheet the row came from.file_create_datetime: the stored workbook file's last modified time.virtual_id: the row's number inside its sheet, starting at 1 on every sheet.Column_<n>, named after the cell's position in the header row.A failed conversion shows its message in the run's error details; see Lake troubleshooting for where to read the full text.
| Message | What it means | What to do |
|---|---|---|
| Excel transform exceeded the 1800s limit | The conversion ran longer than the 30-minute ceiling. | Split the workbook, or leave transpose off for tall sheets, then run again. |
| Excel transform exceeded its memory cap of {n} MiB or Excel transform failed, most likely at its memory cap of {n} MiB | The conversion needed more memory than the limit set for one transform. | Split the workbook, or load fewer sheets per run, then run again. |
| Excel transform was killed by signal {n} (most likely out of memory) | The conversion used up the memory available to it and was ended. | Split the workbook into smaller ones, then run again. |
| Excel transform failed | The conversion stopped for another reason; the error details carry the reason. | Read the details, fix what they name, then run again. |
| Failed to read source files | The stored workbooks could not be read. | Check the stored files on the source's Source step, then run again. |
| Transform produced no TSV files | The run produced no sheets at all; usually no sheet held data. | Check the workbooks: a sheet with no rows under its header produces no table. |
| Configured file "{name}" is not present under raw/ | A workbook the source expects among its stored files is missing. | Add the file back on the Source step, then run again. |
| Transform cancelled by user | The run was stopped before it finished. | Nothing from the stopped attempt is kept; run again when you are ready. |
| Workbook exceeds the interactive size limit | A workbook uploaded in a Mind chat is larger than the 15 MB the chat allows. | Upload a smaller workbook in the chat, or load large workbooks through an Excel Workbook source. |
Four columns come first, before the sheet's own columns: file_name, sheet_name, file_create_datetime and virtual_id. They name the workbook and the sheet a row came from, hold the workbook file's last modified time, and number the row inside its sheet from 1.
The header cell at that position in the sheet is blank, so the column is named after its position: Column_<n>. Rename it on the table's Columns step if you like; see Configure a table.
Every header and value is cleaned before it is written: newlines, tabs and carriage returns become spaces, and the text is trimmed. A value that spanned several lines arrives on one line.
No. The run reads the stored workbook files and writes the converted sheets beside them; the workbook files themselves are not changed and stay in the source's file list. See Stored files.
The source keeps its previous converted set, so your tables keep the data from the last good conversion; a successful run replaces the whole set. Fix the cause, then run again.
One conversion pass has 30 minutes (1800 seconds). Very large workbooks, and tall sheets converted with Transpose table data on, can pass it; the run then stops with Excel transform exceeded the 1800s limit. Split the workbook, or leave transpose off, and run again.
A sheet with no content, or with a header row but no rows under it, produces no table. A chart sheet is skipped too. Give the sheet data rows and run again.
The conversion was stopped before it finished. Nothing from the stopped attempt is kept; the previous converted set stays. See Run, stop and troubleshoot loads for how loads are stopped.
No. The platform converts a few workbooks at a time; a run that arrives while others are converting waits for its turn instead of failing.