Office365: Pros and Cons of Microsoft's Excel API | Inflectra

Office365: Pros and Cons of Microsoft's Excel API

Rodrigo, one of Inflectra's latest interns, has achieved what customers have long been asking for: a cross-platform Excel plugin for getting data into SpiraTeam (feel free to check out the code on Github ). With the latest versions of office, there's a new API that lets the same plugin work in the web (Office365) as well as on the desktop (Windows and Mac with Office 2016+). Rodrigo explains how he found the Office API to work with.

Three ways Office365 is nice to developers

  • Good, top-level documentation: the API is well documented on their Github repo, with a range of helpful questions and answers.
  • Really good tooling flexibility: Microsoft lets you use any JS framework or C# in visual studio. Whatever you need to get your web app (which all the plugins effectively are) to work.
  • Great cross platform support: the API lets you work with a single code base that runs on Office 365 or the Desktop versions of the apps. This should make ongoing development and support of Excel on the web and desktop streamlined.

Three things developers should watch out for using Office365

  • The documentation is not clearly signposted: it's difficult to find proper documentation, certainly for new users. Microsoft's website is, as is often the case, confusing. Most of the information on the website is pulled from the Github repo, but there are two competing tutorials for getting started, and some of the material is outdated.

  • Deployment is 99% on you: Microsoft will be glad to host your add-in for you and take care of everything. Only if you use Azure. Otherwise, you have to host all the files and code yourself. We still can't work out how this isn't a massive security hole.
  • They throw the kitchen sink at you: to get started you use a Yeoman generator. This packs in loads of modules, but they don't explain why they are there, how they are working with each other, or what is essential vs helpful. This is particularly counterproductive to someone new to coding.

Go ahead, give it a try and let us know what you think!