New Features (2026-06-19) — Office I/O

Headless read/write for Office documents — Excel (.xlsx), Word (.docx), and PowerPoint (.pptx) — so flows can ingest a row-set or emit a report without driving the GUI. Wired through the full stack (facade, AC_* executor commands, MCP tools, Script Builder).

The backing libraries (openpyxl / python-docx / python-pptx) are an optional dependency:

pip install je_auto_control[office]

Each function raises a clear RuntimeError if its library is missing, so the core package stays lean and import je_auto_control pulls none of them.

Excel

from je_auto_control import read_workbook, write_workbook

write_workbook("people.xlsx", [{"name": "Ada", "age": 36}], sheet="P")
rows = read_workbook("people.xlsx", sheet="P")   # [{'name': 'Ada', ...}]

The first row supplies the dict keys; sheet defaults to the active sheet. Commands: AC_read_workbook / AC_write_workbook (and ac_read_workbook / ac_write_workbook).

Word

from je_auto_control import read_document, write_document

write_document("report.docx", ["Title", "First line", "Second line"])
paragraphs = read_document("report.docx")["paragraphs"]

Commands: AC_read_document / AC_write_document.

PowerPoint

from je_auto_control import read_presentation, write_presentation

write_presentation("deck.pptx", [
    {"title": "Intro", "body": ["bullet one", "bullet two"]},
])
slides = read_presentation("deck.pptx")["slides"]   # per-slide text runs

Each slide spec is {title, body:[...]} on a “Title and Content” layout. Commands: AC_read_presentation / AC_write_presentation.