Developing Excel 2007 XLLs

This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This page may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

The primary reason for writing Microsoft Office Excel 2007 XLLs and using the C API is to create high-performance worksheet functions. The applications of high-performance functions—and, 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 is 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

Developing DLLs

How to: Access DLLs in Excel

Creating XLLs and DLLs that Call Back into Excel

Accessing XLL Code in Excel

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

Calling into Excel from the DLL/XLL

Calling User-Defined Functions from DLLs

Evaluating Names and Other Worksheet Formula Expressions

Memory Management in Excel 2007

Multithreading and Memory Contention in Excel 2007

Multithreaded Recalculation in Excel 2007

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

See Also

Other Resources

Developing Add-ins (XLLs) in Excel 2007