excel_read
Deprecated range reader — see excel_read_easy for the current version
- data
excel_read pulls a rectangular range of cells out of a spreadsheet and returns them as one text blob. It's marked deprecated now, and the pack ships a much simpler excel_read_easy alongside it for the common case of just wanting one cell - that's the node to reach for unless you specifically need this one's range behavior.
How it works
You define a range with row_start/row_end and col_start/col_end, and the node reads that block of cells into a single data string. Its own description spells out a few different behaviors depending on how you set the start/end pair, and they're genuinely worth knowing before you use it:
row_start=0, row_end=3→ outputs a single row: row 3. A start value of 0 collapses the range to just the end row.row_start=1, row_end=3→ outputs multiple rows: 1, 2, and 3.row_start=row_end=1→ same row count either way, outputs just row 1.- Setting the start row higher than the end row is treated as an error - start must be less than or equal to end.
The description also notes directly: a minimum row or column value of 0 in the sheet itself is invalid and gets skipped rather than read - the zero-as-sentinel behavior above is specific to the _start parameters, not a literal reference to row/column zero in the file.
The inputs and outputs that matter
excel_path/sheet_name- the target file and sheet.row_start(min 0, default 0) /row_end(min 1, default 3) - row range, with the zero-collapses-to-single-row behavior above.col_start(min 0, default 0) /col_end(min 1, default 4) - column range, same convention.- Output:
data(STRING) - the read range, flattened into one text value.
How to install it
Bundled with the full pack. Via ComfyUI Manager: search "ComfyUI-Apt_Preset" → Install → restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/cardenluo/ComfyUI-Apt_Preset.git
Windows: run install.bat from the cloned folder through ComfyUI's embedded Python. Linux/Mac: activate your ComfyUI venv and install requirements from that folder by hand. Restart ComfyUI. The excel nodes need a Python .xlsx library (most likely openpyxl) pulled in during that step - if just this node fails to import while the rest of the pack loads fine, check the console for that.
Common issues & troubleshooting
Getting one row back when you expected several, or vice versa. This is the zero-start convention described above - row_start=0 (or col_start=0) collapses the range to a single row/column at the end value, while any nonzero start reads the full span between start and end. It's the most likely source of a confusing result with this node.
Node errors instead of reading anything. Per its own description, a start value greater than the end value is treated as an error, not silently corrected - double-check your range direction if the node fails outright rather than returning empty.
Just move to excel_read_easy. If you only ever need one specific cell, the simpler node takes a plain row and column number and returns exactly that cell's content - no range semantics, no zero-sentinel behavior to remember, and it's the actively maintained one going forward.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| excel_path | STRING | excel_file_path.xlsx | — |
| sheet_name | STRING | Sheet1 | — |
| row_start | INT | 0 | — |
| row_end | INT | 3 | — |
| col_start | INT | 0 | — |
| col_end | INT | 4 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| data | STRING | — |