Office Add-ins code samples are provided in this repo to help you learn, study, and built great Office Add-ins!
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. |
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. |
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. |
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. |
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. |
To learn more about Office Add-ins, see the Office Add-ins documentation.
Get a free sandbox, tools, and other resources you need to build solutions for the Microsoft 365 platform.
- Free developer sandbox Get a free, renewable 90-day Microsoft 365 E5 developer subscription.
- Sample data packs Automatically configure your sandbox by installing user data and content to help you build your solutions.
- Access to experts Access community events to learn from Microsoft 365 experts.
- Personalized recommendations Find developer resources quickly from your personalized dashboard.
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.
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.