I wrote a module to create excel files, so it isn't that difficult.
Writing the latest & greatest version isn't that bad, it's *reading* the documents that originated in the old versions and where later saved in the newer format. They retain a lot of old formatting cruft under the hood, and there is next to no documentation on how to properly render those.
(Not much an an issue with Excel since there's not a lot of layout involved there, but horrendous when dealing with Word)