Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

Why I Started Building elixcee for Excel Workbooks and VBA

Description and use

elixcee lets you run VBA macros and process Excel workbooks without launching Excel, speeding up tasks and reducing memory usage, especially for large files.

Problem

Teams rely on Excel for data‑processing jobs, but running VBA macros unattended is hard because Excel must be open, leading to heavy dependencies and slow load/save times for large workbooks.

Outcome

elixcee enables unattended, efficient processing of Excel workbooks and VBA macros without launching Excel, with performance gains over openpyxl and ClosedXML, and supports large‑file streaming.

Workflow

  • 1. Install elixcee via Cargo or pip.
  • 2. Load a workbook with elixcee.load_workbook("input.xlsx").
  • 3. Run a VBA macro using vm.run("Sub ProcessData() ... End Sub", "ProcessData").
  • 4. Save the workbook with vm.save_workbook("output.xlsx").
  • 5. For large row‑oriented workbooks, use elixcee.open_stream to read rows and an append‑only writer to write output.
  • 6. Optionally use the CLI: elixcee macros.bas ProcessData --file input.xlsx --output output.xlsx --json.

Evidence

elixcee is a Rust library and runtime for editing Excel workbooks and running data-processing VBA without Excel.

Source

The runtime can load an .xlsx, change cells, evaluate formulas, run a data-processing macro, and save the result.

Source

For load → edit → durable save → reload on an Apple M4, the independent openpyxl run looked like this: elixcee p50 5.021 ms vs openpyxl 9.538 ms.

Source

  • Record date: 2026-09-12T07:01:35.264Z