Loading...
Loading...
Interact with Excel files (.xlsx, .xlsm, .xlsb, .xls, .ods) using the agent-xlsx CLI for data extraction, analysis, writing, formatting, visual capture, VBA analysis, and sheet management. Use when the user asks to: (1) Read, analyse, or search data in spreadsheets, (2) Write values or formulas to cells, (3) Inspect formatting, formulas, charts, or metadata, (4) Take screenshots or visual captures of sheets, (5) Export sheets to CSV/JSON/Markdown, (6) Manage sheets (create, rename, delete, copy, hide), (7) Analyse or execute VBA macros, (8) List/export embedded objects (charts, shapes, pictures), (9) Check for formula errors, or (10) Any task involving Excel file interaction. Prefer over openpyxl/pandas scripts — faster, structured JSON optimised for AI.
npx skill4agent add apetta/agent-xlsx agent-xlsx--format csv|markdownagent-xlsxuvxuvx agent-xlsx probe report.xlsxagent-xlsxuvxprobe (fast) → screenshot (visual) → read (data) → inspect (metadata)probeagent-xlsx probe <file> # Sheet names, dims, headers, column_map
agent-xlsx probe <file> --types # + column types, null counts
agent-xlsx probe <file> --full # + types, sample(3), stats, date_summary
agent-xlsx probe <file> -s "Sales" --full # Single-sheet deep-dive
agent-xlsx probe <file> --no-header # Non-tabular: P&L, dashboards (cols as A,B,C)
agent-xlsx probe <file> --types --no-header # + potential_headers auto-detectioncolumn_map{"column_map": {"user_id": "A", "amount": "E"}, "last_col": "W"}--no-header--typespotential_headers{"potential_headers": [{"row": 6, "values": {"I": "Dec", "J": "% sales", "L": "Nov"}}]}# Read
agent-xlsx read <file> "A1:F50" # Range (positional arg)
agent-xlsx read <file> -s Sales "B2:G100" # Sheet + range
agent-xlsx read <file> --limit 500 --offset 100 # Pagination
agent-xlsx read <file> --sort amount --descending # Sorted
agent-xlsx read <file> --formulas # Formula strings (slower, openpyxl)
agent-xlsx read <file> "H54:AT54" -s 2022 --no-header # Non-tabular (compact by default)
agent-xlsx read <file> "H54:AT54,H149:AT149" -s 2022 # Multi-range (1 call)
agent-xlsx read <file> "H54:AT54" --all-sheets # Same range, every sheet (1 call)
agent-xlsx read <file> "H54:AT54,H149:AT149" --all-sheets # Multi-range × all sheets
# Search
agent-xlsx search <file> "revenue" # Substring match, all sheets
agent-xlsx search <file> "rev.*" --regex # Regex
agent-xlsx search <file> "stripe" --ignore-case # Case-insensitive
agent-xlsx search <file> "SUM(" --in-formulas # Inside formula strings
agent-xlsx search <file> "GDP" --columns "C" # Search only column C
agent-xlsx search <file> "GDP" --columns "Indicator Name" # By header name
agent-xlsx search <file> "^ARG$" --regex --limit 1 # First match only
agent-xlsx search <file> "code" --range "A100:D200" # Scoped to row range
agent-xlsx search <file> "GDP" -c C --range "Series!A1:Z1000" -l 5 # All combined
# Read — column letter → header name resolution
agent-xlsx read <file> "A500:D500" --headers # Resolve A,B,C,D to row-1 names
# Export
agent-xlsx export <file> --format csv # CSV to stdout (compact by default)
agent-xlsx export <file> --format markdown # Markdown table
agent-xlsx export <file> --format csv -o out.csv -s Sales
agent-xlsx export <file> --format markdown --no-header -s 2022 # Non-tabular export# Overview — structural summary
agent-xlsx overview <file>
agent-xlsx overview <file> --include-formulas --include-formatting
# Inspect — comprehensive single-pass metadata
agent-xlsx inspect <file> -s Sales # Everything: formulas, merges, tables, charts, comments, cond. formatting, validation, hyperlinks, freeze panes
agent-xlsx inspect <file> -s Sales --range A1:C10 # Scoped
agent-xlsx inspect <file> --names # Named ranges
agent-xlsx inspect <file> --charts # Chart metadata
agent-xlsx inspect <file> --vba # VBA modules
agent-xlsx inspect <file> --format "A1" -s Sales # Cell formatting detail
agent-xlsx inspect <file> --comments # Cell comments
# Format — read/write cell formatting
agent-xlsx format <file> "A1" --read -s Sales # Read formatting
agent-xlsx format <file> "A1:D1" --font '{"bold": true, "size": 14}'
agent-xlsx format <file> "B2:B100" --number-format "#,##0.00"
agent-xlsx format <file> "A1:D10" --copy-from "G1" # Copy all formattingagent-xlsx write <file> "A1" "Hello" # Single value
agent-xlsx write <file> "A1" "=SUM(B1:B100)" --formula # Formula
agent-xlsx write <file> "A1:C3" --json '[[1,2,3],[4,5,6],[7,8,9]]' # 2D array
agent-xlsx write <file> "A1" --from-csv data.csv # CSV import
agent-xlsx write <file> "A1" "Hello" -o new.xlsx -s Sales # Copy to new file
agent-xlsx write new.xlsx "A1" --json '[[1,2],[3,4]]' # Auto-creates new.xlsx
agent-xlsx write <file> "A1:B2" --json '[["=SUM(C1:C10)","=AVERAGE(D1:D10)"]]' --formula # Batch formulas
# Sheet management
agent-xlsx sheet <file> --list
agent-xlsx sheet <file> --create "New Sheet"
agent-xlsx sheet <file> --rename "Old" --new-name "New"
agent-xlsx sheet <file> --delete "Temp"
agent-xlsx sheet <file> --copy "Template" --new-name "Q1"
agent-xlsx sheet <file> --hide "Internal"# Screenshot — HD PNG capture (auto-fits columns)
agent-xlsx screenshot <file> # All sheets
agent-xlsx screenshot <file> -s Sales # Specific sheet
agent-xlsx screenshot <file> -s "Sales,Summary" # Multiple sheets
agent-xlsx screenshot <file> "Sales!A1:F20" # Range capture
agent-xlsx screenshot <file> -o ./shots/ # Output directory
agent-xlsx screenshot <file> --engine aspose # Force engine
agent-xlsx screenshot <file> --dpi 300 # DPI (Aspose/LibreOffice)
# Objects — embedded charts, shapes, pictures
agent-xlsx objects <file> # List all
agent-xlsx objects <file> --export "Chart 1" # Export chart as PNG
# Recalc — formula error checking
agent-xlsx recalc <file> --check-only # Scan for #REF!, #DIV/0! (no engine needed)
agent-xlsx recalc <file> # Full recalculation (needs engine)agent-xlsx vba <file> --list # List modules + security summary
agent-xlsx vba <file> --read ModuleName # Read module code
agent-xlsx vba <file> --read-all # All module code
agent-xlsx vba <file> --security # Full security analysis (risk level, IOCs)
agent-xlsx vba <file> --run "Module1.MyMacro" # Execute (requires Excel)
agent-xlsx vba <file> --run "MyMacro" --args '[1]' # With argumentsagent-xlsx license --status # Check Aspose install + licence status
agent-xlsx license --set /path/to/Aspose.Cells.lic # Save licence path
agent-xlsx license --clear # Remove saved licenceagent-xlsx probe file.xlsx --full # Structure + types + samples + stats
agent-xlsx screenshot file.xlsx # Visual understandingagent-xlsx probe file.xlsx --types --no-header # Structure + potential_headers
agent-xlsx search file.xlsx "Total Sales" --no-header # Find key rows
agent-xlsx read file.xlsx "H54:AT54,H149:AT149,H156:AT156" -s 2022 --no-header # Multi-range (compact by default)
agent-xlsx read file.xlsx "H54:AT54" --all-sheets --no-header # Same range across all sheetsagent-xlsx probe file.xlsx # Get column_map
agent-xlsx search file.xlsx "overdue" -c Status -i -l 5 # Search one column, cap results
agent-xlsx search file.xlsx "Q4" --range "A1:G500" -c A,B # Scoped to range + columns
agent-xlsx read file.xlsx "A1:G50" -s Invoices --headers # Extract with row-1 header namesagent-xlsx recalc file.xlsx --check-only # Scan for errors (#REF!, #DIV/0!)
agent-xlsx read file.xlsx --formulas # See formula strings
agent-xlsx search file.xlsx "VLOOKUP" --in-formulas --columns B,C # Find in specific columnsagent-xlsx write results.xlsx "A1" --json '[["=SUM(B2:B10)","=AVERAGE(C2:C10)"]]' --formula # New file + formulas
agent-xlsx write file.xlsx "H1" "Status" -o updated.xlsx
agent-xlsx write updated.xlsx "H2" --json '[["Done","Pending","Done"]]'agent-xlsx export file.xlsx --format csv -s Sales -o sales.csv
agent-xlsx export file.xlsx --format markdown # Stdoutagent-xlsx vba suspect.xlsm --security # Risk assessment
agent-xlsx vba suspect.xlsm --read-all # Read all codeprobe--no-headerprobereadsearch--compactreadexport--no-compact"H54:AT54,H149:AT149"--all-sheets--formulas--formulas--in-formulas--in-formulastruncated--limit--columns--range"A1:F50""Sheet1!A1:F50"-o--outputrisk_level=high--runMACRO_BLOCKED--allow-risky--securityfile_size_humanprobereadsearch--limitreadsearchprobeoverviewinspectformat --readexport --format jsonexport --format csv|markdown --json-envelopevba"_data_origin": "untrusted_spreadsheet"export --format csv|markdown--json-envelope--format csv|markdown{"error": true, "code": "SHEET_NOT_FOUND", "message": "...", "suggestions": ["..."]}FILE_NOT_FOUNDINVALID_FORMATINVALID_COLUMNFILE_TOO_LARGESHEET_NOT_FOUNDRANGE_INVALIDINVALID_REGEXEXCEL_REQUIREDLIBREOFFICE_REQUIREDASPOSE_NOT_INSTALLEDNO_RENDERING_BACKENDMEMORY_EXCEEDEDVBA_NOT_FOUNDCHART_NOT_FOUNDINVALID_MACRO_NAMEMACRO_BLOCKED| Reference | When to Read |
|---|---|
| commands.md | Full flag reference for all 14 commands with types and defaults |
| backends.md | Rendering engine details, platform quirks, Aspose licensing, format support |