Menu

Home

Peter Gu Wolfgang Stamm
Attachments
Architecture.png (21097 bytes)
DataBinding.png (25170 bytes)
ExcelMvcBanner480.png (12428 bytes)

Why ExcelMVC ?

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

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).

Features

Views

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.

Commands

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

Binding modes

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.

Support for multiple target frameworks

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:

  • 3.5
  • 4.0
  • 4.5

Supported versions of Excel

Currently, the following versions of Microsoft Excel are supported:

  • Excel 2010
  • Excel 2013

Related projects

  • Excel-DNA integrates .NET into Microsoft Excel, aimed at Excel end-users who want to have a .NET replacement of VBA code. ExcelMVC also allows the integration of .NET assemblies into Excel, furthermore it supports the MVC/MVVM pattern. Excel-DNA and ExcelMVC can work together, as it is demonstrated in the sample application.
  • Visual Studio tools for Office (VSTO) extend Microsoft Office by using Visual Studio developer tools. Development of .NET applications for Office 2010 or Office 2013 require Visual Studio Professional, Premium or Ultimate edition and .NET framework 4.0 or 4.5. ExcelMVC does not support other Office applications than Excel, however one can use it with Express editions of Visual Studio and .NET framework 3.5, 4.0 and 4.5.

Project Members:


Related

Wiki: Design Excel worksheets
Wiki: Reasons to use ExcelMVC

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.