small trivia: long ago I had to massage a db dump made into excel files, so I hacked up a DSL to write business rules validation / transformation, all in VBA (where I also learned that the object model included some cute transparent delegation subtype thing). C-suite decided we needed more speed, so they brought up two seasoned engineers, one of them all about .NET interop. But doing Office logic outside of VBA/Office brings a lot of pain (excel embeds type in formatting IIRC) so he ended up recreating a mini excel object, still hit performance issues and ejected himself from the project. tl;dr I was surprised how "pragmatic" it ended up.