If you are a fan of building applications using the MVC/MVVM pattern and you love Excel as the user interface for your applications but want to make your applications fully testable, then ExcelMVC is just the component you need.
The picture below depicts how you can use ExcelMVC to interface Excel to your business layers, which naturally can also be used by other types of applications, e.g. WPF/Silverlight Windows applications or Web pages.
Getting started | How to | Downloads |
---|---|---|
Get started walkthrough | [Design Excel worksheets] for ExcelMVC | ExcelMvc package on NuGet (main package, recommended download for development of ExcelMVC applications). |
[Reasons to use ExcelMVC] | Examples | Source code archive, includes source code of a sample application. |
Compare ExcelMVC | ExcelMvc.AddinDna package on NuGet (for development of applications using both ExcelMVC and Excel-DNA). |
Type | Description |
---|---|
ExcelMvc.Views.Form | Forms allow flexible layout of your view in Excel. Bind any property of your business model to a cell on your Excel worksheet. |
ExcelMvc.Views.Table | Both portrait tables (headers are column headers) and landscape tables (headers are row headers) are supported. Each row (portrait table) or column (landscape table) is bound to an object in your .NET application, the entire table is bound to a collection of objects. |
You can create commands for Excel form controls:
Type | Description |
---|---|
Microsoft.Office.Interop.Excel.Button | Event fired when user clicks on button in Excel |
Microsoft.Office.Interop.Excel.Checkbox | Event fired when user checks or unchecks checkbox in Excel |
Microsoft.Office.Interop.Excel.OptionButton | Event fired when different option selected by user |
Microsoft.Office.Interop.Excel.ListBox | Event fired when different item selected in list |
Microsoft.Office.Interop.Excel.DropDown | Event fired when different item selected in drop down list |
Microsoft.Office.Interop.Excel.Spinner | Event fired when up / down button clicked in spinner |
Microsoft.Office.Interop.Excel.Shape | Event fired when user clicks on shape |
The following binding modes are supported in ExcelMVC:
Type | Description |
---|---|
ExcelMvc.Bindings.ModeType.OneWay | Transfers data from model to view |
ExcelMvc.Bindings.ModeType.OneWayToSource | Transfers data from view to model |
ExcelMvc.Bindings.ModeType.TwoWay | Transfers data in both directions |
In the above picture, Excel is a view and your C# or other .NET application is a model. Your controller is implemented in .NET code too.
If you install ExcelMVC packages from NuGet to your Visual Studio projects, you will be able to target your .NET applications to either one of the following .NET framework versions:
Currently, the following versions of Microsoft Excel are supported: