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
-
AvgOpt
- An option value calculator add-in, which demonstrates the use of a results cache to speed up performance
Menus & Toolbars
-
Ribbon Demo
- Adds and manages controls in the Office Ribbon (New in XLL+ 7.0)
-
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 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)
-
ArrayHandles
- Uses handles to represent vectors of numbers
-
LockableHandles
- Demonstrates the use of RTD handles to represent objects in Excel (New in XLL+ 7.0)
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
-
AvgOpt
- An option value calculator add-in, which demonstrates the use of a results cache to speed up performance
-
MonteCarlo
- Combines the use of object handles 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)
Queued functions
-
Queued
- Demonstrates the use of queued asynchronous functions
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
-
AvgOptCuda
- An option value calculator add-in, which demonstrates the use of CUDA and a GPU to speed up performance
-
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)
-
ExcepExt
- Demonstrates a function extension, which catches a developer-defined exception
-
XlpGenDemo
- Demonstrates how to use the XLPGEN.EXE command-line tool
-
Publish Opt-In Demo
- Applies a function filter with an Opt-In policy
-
Publish Opt-Out Demo
- Applies a function filter with an Opt-Out policy
-
Publish Run-time Demo
- Applies a function filter using a configuration file
-
SharedHandles
- Demonstrates how to share handles between separate add-ins
See Also
Samples and walkthroughs | Alphabetical List of Sample Projects