XLL+ Class Library (6.3)

Sample Projects

The XLL+ sample projects are listed below, by category. Each can found in a sub-directory of the Samples directory.


Basic examples

SimpOpt
A typical calculator add-in, which values vanilla options
AvgOpt
An option value calculator add-in, which demonstrates the use of a results cache to speed up performance
LabelledArgs
A typical calculator add-in, using labelled arguments

Tutorials

Tutorial1
Contains most of the code from the User Guide
MfcTutorial
Contains the code for the MFC sample in the User Guide
AvgOptAsync2
An option value calculator add-in, which runs lengthy calculations in a background thread (New in XLL+ 6.0)
SafeCode
Demonstrates the use of a Structured Exception Handler to trap fatal run-time exceptions (Changed for XLL+ 6.0)

Menus & Toolbars

Simple Menus
Uses the CXlMenu class to add a menu to Excel's application menu bar
Advanced Menus
Adds a menu and dynamic sub-menus to Excel's application menu bar
Simple Toolbar
Uses the CXlToolbar class to add a toolbar to Excel's application window
Simple Toolbar using resources
Uses the CXlToolbar class to add a toolbar to Excel's application window
Dynamic Toolbar
Uses the CXlToolbar class to add a dynamic toolbar to Excel's application window

Object handles

RtdHandleDemo
Demonstrates the use of RTD handles to represent objects in Excel (New in XLL+ 6.2)
PersistentHandleDemo
Demonstrates the use of persistent RTD handles to represent objects in Excel (New in XLL+ 6.2)
MonteCarlo
Combines the use of object handles, a results cache and asynchronous functions (Changed for XLL+ 6.2)
MonteCarlo2
Combines the use of object handles, and asynchronous functions, and also provides a persistent object cache (New in XLL+ 6.2)
NumericHandleDemo
Demonstrates the use of numeric handles to represent objects in Excel (New in XLL+ 6.0)
StringHandleDemo
Demonstrates the use of string handles to represent objects in Excel (New in XLL+ 6.0)
StringPtrHandleDemo
Demonstrates the use of string pointer handles to represent objects in Excel (New in XLL+ 6.0)
BoostHandles
Demonstrates the use of RTD handles to represent objects in Excel, where the objects are wrapped by boost::shared_ptr smart pointers (New in XLL+ 6.2)

Interacting with Excel

CallExcel
Demonstrates how to call Excel worksheet and macro functions from an add-in function
FindReplace
Uses the CXllFinder class to find and replace the contents of cells
ColorCell
Contains macro functions which set the colors of a cell
CreateBook
Demonstrates how to use CXlMacros methods to create and populate workbooks
SetFormula
Demonstrates how to set formulae
ExUIPopup
Demonstrates a popup editor within the Excel Formula Wizard (New in XLL+ 6.2)
ExUIPopupMFC
Demonstrates a popup editor within the Excel Formula Wizard (using MFC) (New in XLL+ 6.2)
ExUIPopupCLR
Demonstrates a popup editor within the Excel Formula Wizard (using .NET WinForms) (New in XLL+ 6.2)

Asynchronous functions

AvgOptAsync2
An option value calculator add-in, which runs lengthy calculations in a background thread (New in XLL+ 6.0)
MonteCarlo
Combines the use of object handles, a results cache and asynchronous functions (Changed for XLL+ 6.2)
MonteCarlo2
Combines the use of object handles, and asynchronous functions, and also provides a persistent object cache (New in XLL+ 6.2)

Common Language Runtime and .NET

ClrDemo
Calls .NET methods from add-in functions
AssemblyDemo
Calls methods in a C# .NET assembly
PiaDemo
Uses the Excel object model, via the Primary Interop Assemblies

Matrix adapter

BoostMatrix
Demonstrates how to write a matrix adapter class, to integrate a matrix class into XLL+

Wrapper libraries

ApiTest
Demonstrates how to create a wrapper library which lets you call XLL Add-in functions directly from a C#, C++ or VBA application. (New in XLL+ 6.3)

Dialogs

Dialogs
Uses the CXlDialog class to display native Excel dialogs
Integration
Demonstrates how to create a meta-function from the relationship between two cells and use standard numerical methods to integrate the function

International support and localization

International
Demonstrates how to get and use Excel's international settings
Localized (Single DLL)
Demonstrates how to support multiple languages in a single XLL (Changed for XLL+ 6.0)
Localized (Multiple DLLs)
Demonstrates how to support multiple languages using one DLL per language (Changed for XLL+ 6.0)
Dynamic localized (Single DLL)
Demonstrates how to support multiple languages in a single XLL, switching between languages dynamically (New in XLL+ 6.0)
Dynamic localized (Multiple DLLs)
Demonstrates how to support multiple languages using one DLL per language, switching between languages dynamically (New in XLL+ 6.0)

Advanced examples

BoostMatrix
Demonstrates how to write a matrix adapter class, to integrate a matrix class into XLL+
CallExcel
Demonstrates how to call Excel worksheet and macro functions from an add-in function
UseTimer
Demonstrates how to use a timer to execute a macro function at regular intervals
PartialReg
Demonstrates how to control at run-time which add-in functions are registered and which are not
CreateBook
Demonstrates how to use CXlMacros methods to create and populate workbooks
BinaryData
Demonstrates the use of BinaryName ranges to store binary data in an invisible named range in a worksheet
CalcEvt
Demonstrates how to trap the OnCalculate event, and add your own data to a worksheet
SetFormula
Demonstrates how to set formulae
FInspect
Demonstrates how to inspect and display information about functions in an add-in (Changed for XLL+ 6.0)
Dialogs
Uses the CXlDialog class to display native Excel dialogs
Serialize
Demonstrates how to serialize Excel native data types to and from streams
Integration
Demonstrates how to create a meta-function from the relationship between two cells and use standard numerical methods to integrate the function
TFold
Demonstrates the use of the CXlOper class, in a useful worksheet function that constructs and manipulates arrays
Profiling
Demonstrates a function extension, which profiles the performance of add-in functions
LogDemo
An add-in that writes to a log
ExUIDynList
Changes the contents of a value list at run-time (New in XLL+ 6.2)
DemoFeed
Demonstrates how to integrate a data feed into an Excel add-in for high-performance real-time data add-in, written in C++, and which supports array real-time values as well as scalar values. (New in XLL+ 6.3)
ApiTest
Demonstrates how to create a wrapper library which lets you call XLL Add-in functions directly from a C#, C++ or VBA application. (New in XLL+ 6.3)

Archived examples

AvgOptAsync
An option value calculator add-in, which runs lengthy calculations in a background thread
ComEvents
Shows how to set up event handlers for COM events
HandleAPI
Contains the code for the HandleAPI sample in the User Guide
HandleAPICached
Contains the code for the HandleAPICached sample in the User Guide
KeyedHandle
Shows how to use an object cache with meaningful string keys

See Also

Samples and walkthroughs