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
Creating XLLs and DLLs that Call Back into 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