Nodes/ComfyUI_StringOps/图片插入表格🐠meeeyo.com
ComfyUI Node

图片插入表格🐠meeeyo.com

Embed Generated Images Into Excel Cells Without Leaving ComfyUI

By MeeeyoAI·Created 2 years ago·Updated about a year ago· 209
图片插入表格🐠meeeyo.com
  • any
  • STRING
excel_pathpath/to/your/file.xlsx
sheet_nameSheet1
row_range1
col_range1
image_pathpath/to/your/image.png

ComfyUI is great at making images. It's much less great at organizing them. When your end product isn't one image but a spreadsheet full of them - a comparison matrix, a product catalog, a contact sheet, a batch of mockups you have to hand to a client - the usual move is exporting PNGs and dragging them into Excel by hand. WriteExcelImage ends that. It takes an image sitting on disk and drops it into a cell of an existing .xlsx file, right from inside the graph.

It ships in ComfyUI_StringOps, a Chinese-language utility pack from a creator who goes by Meeeyo (觅鱼 AI, meeeyo.com). Every node in the pack carries a "🐠meeeyo.com" suffix in its display name, and the descriptions quietly pitch a paid WeChat / 知识星球 community - it's a small indie pack, effectively unmentioned in the English-speaking community, so don't expect tutorials to exist. What it does, though, is genuinely useful and the code is simple enough to trust.

How it works

There's no magic here: it's straight openpyxl. The node opens your workbook, grabs the sheet you name, embeds the image anchored at the cell you specify, and saves the file back. No API, no model files, no GPU involved. Knowing that tells you most of its limits before you ever hit them.

The inputs you actually set:

  • excel_path - full path to an existing .xlsx. The node will not create a blank workbook for you; it errors out if the file is missing.
  • sheet_name - which sheet to drop the image in. Defaults to Sheet1 and must match an existing sheet, or you get an error string.
  • row_range / col_range - position as plain numbers (3) or a range (3-8). Note: only the start of a range actually matters, which brings me to the quirks.
  • image_path - a path to a PNG on disk, not an IMAGE tensor. You need a save node first: the same pack's SaveImagEX or ComfyUI's core Save Image, and then feed the file path in.

The output is a single STRING - "Image inserted successfully!" or an error message. It's not an output node, so wire that string into a text display if you want to see it; errors are returned as text rather than thrown, which is useful once you know to look at them.

Three quirks to know before you trust it

  • Everything becomes a 128×128 thumbnail. The code resizes any image to 128px before embedding. Great for a thumbnail sheet, useless for a full-res gallery - don't point it at deliverable images.
  • The end of a range is silently ignored. 1-5 parses but only the 1 is used. It's a quirk of the code, not a feature; treat row/col ranges as single-cell positions.
  • It loads the workbook with data_only=True and re-saves it. That's the openpyxl behavior that flattens live formulas into their cached values. Point it at a plain data sheet, not a workbook full of calculations.

Install

Via ComfyUI Manager: search "StringOps" and install the pack, then restart. Or the manual route:

cd ComfyUI/custom_nodes
git clone https://github.com/MeeeyoAI/ComfyUI_StringOps
# then restart ComfyUI

The pack's requirements.txt lists torch alongside openpyxl - ignore the torch line, ComfyUI already provides it. If you cloned manually and the node complains, just pip install openpyxl. There are no model downloads anywhere.

Troubleshooting

  • "No write permission" or a permission error on Windows? The workbook is open in Excel. Close it - the file is locked.
  • Relative paths resolve against whatever directory you launched ComfyUI from, not ComfyUI's root. Use absolute paths to avoid surprise.
  • Errors land in the output string, so if nothing happens, read what the node actually returned instead of staring at the console.

Is this the one you'd reach for? If you need images inside an Excel grid, honestly yes - it's the least-friction option in the ecosystem for that specific job. Just calibrate expectations: it's a data-entry helper that pastes thumbnails into cells, not a report generator. For that, it's a tidy little node.

CategoryMeeeyo/File

Inputs (6)

NameTypeDefaultDescription
excel_pathSTRINGpath/to/your/file.xlsx
sheet_nameSTRINGSheet1
row_rangeSTRING1
col_rangeSTRING1
image_pathSTRINGpath/to/your/image.png
anyopt*

Outputs (1)

NameTypeDescription
STRINGSTRING