Why I Started Building elixcee for Excel Workbooks and VBA
Описание и применение
elixcee позволяет выполнять макросы VBA и обрабатывать книги Excel без запуска Excel, ускоряя работу и снижая потребление памяти, особенно для больших файлов.
Задача
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.
Результат
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.
Рабочий процесс
- 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.
Доказательства
elixcee is a Rust library and runtime for editing Excel workbooks and running data-processing VBA without Excel.
The runtime can load an .xlsx, change cells, evaluate formulas, run a data-processing macro, and save the result.
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.
- Дата записи: 2026-09-12T07:01:35.264Z