ComfyUI Extension: exLoadout: Excel-Based Model & Settings Loader

Authored by IsItDanOrAi

Created

Updated

5 stars

Excel spreadsheet-driven ComfyUI nodes that let you load models, values, and workflows based on saved rows in Excel. Great for organizing and switching between CLIPs, VAEs, LoRAs, and more.

Custom Nodes (0)

    README

    exLoadout – Excel Based Loadout Manager for ComfyUI

    Logo

    What It Is

    exLoadout is a suite of lightweight ComfyUI custom nodes that let you define and switch between full “loadouts” stored in an Excel sheet. A loadout could include any node inputs that expect string values—models (checkpoints, CLIP, VAE, ControlNets, LoRAs, UNets), numeric or text variables (CFG, sampler names, scheduler types, etc.)—all pulled from a row in your sheet. By selecting a row, you instantly apply all of its settings in your workflow, with built‑in support for editing and reading those cells right inside the UI.

    image

    UPDATES:

    V1.1:

      * Security updates across all nodes.
      * exLoadoutSelector - Added random Loadout functionality.
    

    Installation

    Download or clone this repo, ensuring the ComfyUI-exLoadout folder is placed inside your ComfyUI/custom_nodes/ folder.
    
    Open a terminal (or Command Prompt) and navigate to the ComfyUI-exLoadout folder.
    
    Install required Python dependencies:
    
    pip install -r requirements.txt
    
    Launch ComfyUI as usual (python main.py or your normal shortcut).
    

    Nodes Overview

    image

    exLoadout Selector

    Inputs:
    • excel_path: Your .xlsx file name (in custom_nodes/ComfyUI-exLoadout/)
    • sheet_name: Excel sheet/tab name
    
    Output: Selected Loadout name (Column A string)
    
    Note: Run the workflow once to populate the dropdown
    

    exLoadoutA & exLoadoutG

    Access up to six columns of data per row (“Part 1”: A–F, “Part 2”: G–L)
    
    Inputs: excel_path, sheet_name, row_number or search_string
    
    Outputs: String values from each column, plus a combined Outputs value formatted for parsing (e.g., %A: … %B: …)
    

    exLoadoutReadColumn

    Inputs: excel_path, sheet_name, column_letter (A–L)
    
    Output: List containing a comma‑separated string of values from that column
    

    exLoadoutEditCell

    Inputs: excel_path, sheet_name, row_number or search_string, column_letter (A–L), new_value
    
    Output: Full row returned as a confirmation string (A1…L1 format)
    
    Function: Updates a specified cell value in the workbook and returns the row
    

    exLoadout Checkpoint Loader

    Inputs: excel_path, sheet_name, selected Loadout, clip_type
    
    Sets model/CLIP/VAE based on Columns B/C/D (exact filenames required) from Excel; will use defaults if cells are empty
    
    Outputs: MODEL, CLIP, VAE + summary string
    

    Sample Workflow

    Use exLoadout Selector to choose your desired loadout name.
    
    Feed that into exLoadout Checkpoint Loader to load model, CLIP, and VAE automatically.
    
    Optionally use other nodes to read/write spreadsheet data or inspect additional columns.
    

    Notes

    Exact filenames only—make sure to include file extensions in spreadsheet cells.
    
    Files must reside in these folders:
    
        models/checkpoints/
    
        models/clip/
    
        models/vae/
    
    You can search for the row via Column A through search_string or by direct row number.
    
    The summary strings (e.g., %A: X %B: Y) allow downstream parsing by other nodes or workflows.