Build Excel Add-ins with Office JS APIs

This course will teach you how to leverage the web technologies you already know and the power of Microsoft Office to create powerful solutions for both the enterprise and end users.
Course info
Level
Intermediate
Updated
Apr 5, 2017
Duration
2h 16m
Table of contents
Description
Course info
Level
Intermediate
Updated
Apr 5, 2017
Duration
2h 16m
Description

At the core of Excel Add-ins, for Office 365 and Office Desktop, is a thorough knowledge of the Excel Object Model. In this course, Build Excel Add-ins with Office JS APIs, you'll learn how to build your own Excel Add-in. First, you'll learn about asynchronous programming with the Excel Object Model. Next, you'll discover User Experience Design with the Office Fabric UI. Finally, you'll explore the specifics of building tables and charts. When you’re finished with this course, you'll have a foundational knowledge of Excel Add-ins that will help you as you move forward to building add-ins for your organization and the Microsoft Office Store.

About the author
About the author

John Brown is a Software Craftsman continually looking for intuitive designs, agile architectures, and streamlined processes. With degrees in Computer Science from Johns Hopkins and Aerospace Engineering from Purdue, John is always up for a challenge, especially in his areas of interest in Artificial Intelligence and Machine Learning.

More from the author
Ghost Blogging Engine: First Look
Intermediate
3h 32m
Mar 14, 2016
More courses by John Brown
Section Introduction Transcripts
Section Introduction Transcripts

Course Overview
Hi, everyone. My name is John Brown and welcome to my course, Build Excel Add-ins with the Office JavaScript API. I am a software craftsman at Tritium Consulting and I love to build software with the latest technologies. Microsoft Office is one of the most well-known software products with over a billion users. Adding and extending Microsoft Office with add-ins can bring your products and services directly and conveniently to a huge number of users, allowing them to be more productive and happier. In this course, we are going to look at the new Excel object model that allows batch updates to Excel through the JavaScript proxy object. We will look at chaining requests to load properties through JavaScript promises. We will look at the new Office Fabric UI to build a compelling user experience. And, of course, we'll cover the features of Excel that we can leverage with the API. By the end of this course, you will know how to build an Excel add-in and perform all the basic interactions with Excel to build a compelling add-in. Before you start this course, you should watch the previous course on building Office add-ins with the Office JavaScript APIs. This course will build on that course and introduce the Excel object model with async programming. You should be familiar with JavaScript and HTML. You do not need to be an expert, though the more familiar you are with it, the easier it will be to build more complicated add-ins. I hope you will join me on this journey to learn about customizing and leveraging Excel.

Excel Object Model and Async Programming with Office 2016
Hello everybody, and welcome to this module on the Excel object model and the asynchronous programming you'll find with the Office JavaScript API in Office 2016 and beyond. As you learned with the fundamentals of the Office JavaScript API course, the shared API allows us to read and write to the Office documents, though it can be a little limited. With Office 2016, Microsoft introduced a new model that adds to the shared API and uses an Excel-specific object model to add additional capabilities. With those capabilities, it uses a slightly different way to communicate. Let's take a look at what this module will cover. In this module, we will cover the new proxy object that facilitates the communication with the Excel spreadsheet. This will allow us a more granular approach to reading and writing data. We'll look at using JavaScript promises instead of the callback model that is used in the shared API. With the proxy object we will have more frequent calls to the document, and the JavaScript promises provide an elegant way to handle the asynchronous nature. Of course we will look at the Excel object model that is specific to Excel. This will allow us to read and write more than just text. We will be able to build tables, charts, and much of Excel's features. And we will also look at the property loading that is required to examine the objects within the Excel object model. We will declare the properties we need from the proxy object. I look forward to working through this module with you.

Reading and Writing Tables
Hello everyone and welcome to this next module on reading and writing tables in Excel using the Office JavaScript API in Office 2016. One of the main reasons to have an Excel add-in is to leverage the features of Excel to manipulate and prepare data. Excel is extremely powerful in the bulk editing of data. One of the features of Excel that allows editing of data so easily is the table feature, which allows you to define a region in the spreadsheet that has a defined set of rules and behavior. These rules and behavior allow data entry and manipulation to be much easier and quicker. In this module, I will review how to insert and manipulate data using the ranges that we have covered in previous modules and contrast them to how data is inserted and read from tables in Excel. As a starting point for this module, I have picked up some of the features we developed in the previous Office course so that we wouldn't have to develop them here. In the Office course, we developed a data service that connected to Trello and read cards from the Trello board. We also developed a sample data service to use during development. I've incorporated both into the project. Some of the common features and functions were also pulled into this project providing a simple common library. I've also built up a little more of the user interface to provide a better user experience using the techniques we described in the previous modules. In order to show how working with tables is much easier than ranges, we will start by showing how to insert bulk data into the spreadsheet using ranges. We will then work on formatting that data and sorting it appropriately. We will then show how to convert that range into a names table and use the built in table features to format the data, sort it, and eventually read it out, and update the source. Let's get started.