Developing Excel 2010 XLLs

Applies to: Excel 2010 | Office 2010 | VBA | Visual Studio

The primary reason for writing Microsoft Excel XLLs and using the C API is to create high-performance worksheet functions. The applications of high-performance functions —and, starting in Excel 2007, the ability to write multithreaded interfaces to powerful server resources—make it a very important part of Excel extensibility. The performance of XLLs was further enhanced in Excel 2007 by the addition of new data types and, most important, support for multithreading.

The C API has none of the higher-level rapid development features of Microsoft Visual Basic for Applications (VBA), COM, or the Microsoft .NET Framework. Memory management is low level, and therefore puts greater responsibility on the developer. Many Excel features that are exposed through COM, making them available through VBA and the .NET Framework, are not exposed to the C API.

In This Section

Excel Programming Concepts

Working with DLLs

Accessing XLL Code in Excel

How to: Call XLL Functions from the Function Wizard or Replace Dialog Boxes

Calling into Excel from the DLL or XLL

Creating XLLs

Evaluating Names and Other Worksheet Formula Expressions

Multithreading and Memory Management

Asynchronous User-Defined Functions

Cluster Safe Functions

Permitting User Breaks in Lengthy Operations

Displaying Dialog Boxes from Within a DLL or XLL

How to: Access Excel Instance and Main Window Handles

Backward Compatibility