Skip to content

Add beta Excel/VBA interface - #98

Merged
markleader merged 15 commits into
nasa:mainfrom
markleader:feat/excel
Jul 20, 2026
Merged

Add beta Excel/VBA interface#98
markleader merged 15 commits into
nasa:mainfrom
markleader:feat/excel

Conversation

@markleader

Copy link
Copy Markdown
Contributor

Summary

Adds a beta/experimental Excel interface for CEA, intended for 64-bit Windows Excel/VBA users who need live worksheet formulas backed by the native CEA library. The interface is optional, disabled by default, and documented as a Windows 64-bit-only path; users who only need spreadsheet-formatted outputs are encouraged to use the Python API with Pandas and export to CSV/XLSX.

Changes

  • Adds a new optional CEA_ENABLE_BIND_EXCEL CMake binding path, defaulting to OFF.
  • Adds the native cea_excel.dll wrapper API, public Excel header, and smoke/API tests.
  • Adds VBA modules for DLL loading, worksheet UDFs, helper functions, and diagnostics.
  • Adds cea_template.xlsm as the starter macro-enabled workbook.
  • Adds Excel interface docs under docs/source/interfaces/excel_api.rst.
  • Updates installation/interface docs and binding README guidance for:
    • beta/experimental status
    • 64-bit Windows Excel/VBA-only support
    • Python + Pandas as the recommended workflow for spreadsheet exports
    • Excel DLL build and workbook setup steps

Compatibility / Numerical behavior

  • No expected changes to numerical results
  • Expected changes (explain and provide validation)

The Excel binding is additive and opt-in. Standard builds keep CEA_ENABLE_BIND_EXCEL=OFF, and the wrapper delegates solve behavior to the existing C/Fortran CEA APIs.

@markleader
markleader merged commit 4adb9d3 into nasa:main Jul 20, 2026
23 checks passed
@markleader
markleader deleted the feat/excel branch July 20, 2026 11:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant