bim-excel

Read and write Excel files from the command line. The connective layer between Revit schedules, site data outputs, and any spreadsheet-based workflow — no Excel open, no copy-paste, no formula errors. Accepts piped input from any other bim driver; output can be piped forward.

Read and write Excel files from the command line. No Excel required to run it.

Verbs

Verb What it does
bim excel write <file.xlsx> Write NDJSON from stdin to a sheet; auto-detects dates, optional pivot table
bim excel read <file.xlsx> Stream rows as NDJSON; header row becomes object keys
bim excel sheets <file.xlsx> List all sheets with row and column counts
bim excel info <file.xlsx> Schema of each sheet: column names, inferred types, sample values

Write

bim excel write <output.xlsx> [--sheet Name] [--pivot Col] [--dry-run] [--yes]

Reads stdin: NDJSON (one JSON object per line), JSON array of objects, or a bim {ok,result} envelope (unwrapped automatically — pipe any bim command directly without jq).

Read

bim excel read <file.xlsx> [--sheet Name] [--header-row N] [--map Key=A,...] [--limit N]

Streams rows as NDJSON to stdout. Header row supplies keys.

Pipe compositions

# Revit schedule → Excel
bim revit schedule export "Door Schedule" | bim excel write doors.xlsx

# Excel params → Revit
bim excel read params.xlsx | bim revit param set --by Mark

# PDF takeoff → Excel pivot
bim pdf marked drawings.pdf | bim excel write takeoff.xlsx --pivot category

# Revit warnings → audit spreadsheet
bim revit warnings list | bim excel write audit.xlsx

# Site flood data → Excel report
bim site flood lookup --lat <f> --lon <f> | bim excel write flood-report.xlsx

Gotchas

For agent use: /excel/llms.txt