Skip to content

Code samples for Office Add-in development on the Microsoft 365 platform.

License

Notifications You must be signed in to change notification settings

amchandn/PnP-OfficeAddins

 
 

Repository files navigation

Office Add-ins code samples

Office Add-ins code samples are provided in this repo to help you learn, study, and built great Office Add-ins!

Auth, Identity and SSO

Name Description
Single Sign-on (SSO) Sample Outlook Add-in The sample implements an Outlook add-in that uses Office's SSO feature to give the add-in access to Microsoft Graph data.
Get OneDrive data using Microsoft Graph and msal.js in an Office Add-in Learn how to build a Microsoft Office Add-in, as a single-page application (SPA) with no backend, that connects to Microsoft Graph, and access workbooks stored in OneDrive for Business to update a spreadsheet.
Office Add-in auth to Microsoft Graph Learn how to build a Microsoft Office Add-in that connects to Microsoft Graph, and access workbooks stored in OneDrive for Business to update a spreadsheet.
Outlook Add-in auth to Microsoft Graph. Learn how to build a Microsoft Outlook Add-in that connects to Microsoft Graph, and access workbooks stored in OneDrive for Business to compose a new email message.
Single Sign-on (SSO) Office Add-in with ASP.NET Implements an Office Add-in that uses the getAccessToken API in Office.js to give the add-in access to Microsoft Graph data. This sample is built on ASP.NET.
Single Sign-on (SSO) Office Add-in with Node.js Implements an Office Add-in that uses the getAccessToken API in Office.js to give the add-in access to Microsoft Graph data. This sample is built on Node.js.

Outlook

Name Description
Use Outlook event-based activation to indicate external recipients (preview) Uses event-based activation to run an Outlook add-in when the user changes recipients while composing a message. The add-in also uses the appendOnSendAsync API to add a disclaimer.
Use Outlook event-based activation to set the signature Uses event-based activation to run an Outlook add-in when the user creates a new message or appointment.

Excel

Name Description
Open in Teams Creates a new Excel spreadsheet in Microsoft Teams containing data you define.
Insert an external Excel file and populate it with JSON data Insert an existing template from an external Excel file into the currently open Excel file. Then retrieve data from a JSON web service and populate the template for the customer.
Create custom contextual tabs on the ribbon This sample shows how to create a custom contextual tab on the ribbon in the Office UI. The sample creates a table, and when the user moves the focus inside the table, the custom tab is displayed. When the user moves outside the table, the custom tab is hidden.
Use keyboard shortcuts for Office add-in actions Shows how to set up a basic Excel add-in project that utilizes keyboard shortcuts.
Custom function sample using web worker Shows how to use web workers in custom functions to prevent blocking the UI of your Office Add-in.
Use storage techniques to access data from an Office Add-in when offline Demonstrates how you can implement localStorage to enable limited functionality for your Office Add-in when a user experiences lost connection.
Custom function batching pattern Batch multiple calls into a single call to reduce the number of network calls to a remote service.

Shared JavaScript runtime

Check out these samples if you want to take advantage of the shared runtime for your Office Add-in.

Date Name Description
Share global data with a shared runtime Shows how to set up a basic project that uses the shared runtime to run code for ribbon buttons, task pane, and custom functions in a single browser runtime.
Manage ribbon and task pane UI, and run code on doc open Shows how to create contextual ribbon buttons that are enabled based on the state of your add-in.

Additional samples

Name Description
Use a shared library to migrate your Visual Studio Tools for Office add-in to an Office web add-in Provides a strategy for code reuse when migrating from VSTO Add-ins to Office Add-ins.
Integrate an Azure function with your Excel custom function Learn how to integrate Azure functions with custom functions to move to the cloud or integrate additional services.
Dynamic DPI code samples A collection of samples for handling DPI changes in COM, VSTO, and Office Add-ins.

Learn more

To learn more about Office Add-ins, see the Office Add-ins documentation.

Join the Microsoft 365 Developer Program

Get a free sandbox, tools, and other resources you need to build solutions for the Microsoft 365 platform.

Patterns and Practices community

Office Add-ins PnP is a community driven effort that helps developers extend, build, and provision customizations for the Office platform. The source is maintained on this GitHub repo where anyone can participate. You can provide contributions to the samples, reusable components, and documentation. Office Add-ins PnP is owned and coordinated by Office engineering teams, but the work is done by the community for the community.

Code of conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

About

Code samples for Office Add-in development on the Microsoft 365 platform.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 95.6%
  • CSS 3.2%
  • SCSS 1.1%
  • Other 0.1%