About ExcelController

Integrate your applications with multiple versions of Microsoft Excel.

ExcelController runs on top of the functionality exposed by Excel, detects which version is present at runtime, and executes code appropriate to that version. It becomes simple to write one set of code which can be deployed to users without worrying what version of Excel they have. It also aggregates complex Excel functionality into higher level new functions - no need to understand the complex Excel object model.

What's New in V5.0

  • This version offers Excel 2003 compliance. Earlier versions do not support Excel 2003. In addition there are some functional upgrades and fixes from v4
  • There is a new DLL, a new version of the sample application and updated documentation (DOC and HLP)

What's New in V4.0

  • This version is released primarily for Office XP (Excel 2002) compliance. Previous versions did not work with Excel 2002
  • There is a new DLL, a new version of the sample application and updated documentation (DOC and HLP)

ExcelController is an ActiveX component which allows Developers to quickly and easily integrate their applications with multiple versions of Microsoft Excel.

Developers who wish to integrate their applications with Excel on the user machine face a major problem with regard to the different behaviour of different Excel versions. Applications which are written for one version of Excel do not necessarily work when run on a workstation which has a different version installed.

Developers do not want to have to specify that their Users have a particular version, nor do they want to revisit their applications when the next version of Excel is released. ExcelController addresses these issues by adding a layer on top of the functionality exposed by Excel, detecting what version is present at runtime and executing code that will work with that version. It is now possible to write one set of code which can be deployed to users without worrying what version of Excel they have. And when the next version of Excel is released let us worry about testing its behaviour and making any changes necessary to ensure that the ExcelController functions behave in a manner as consistent as possible with the earlier versions.

Further, ExcelController aggregates some complex Excel functionality into high level new functions which allow the Developer to do the most commonly required tasks: create new workbooks; insert data; build, format and print tables and reports etc. with just a few lines of code and without any need to understand the complex Excel object model.

With the help of ExcelController a client application can

  • determine if Excel is running and return the Excel window handle
  • launch Excel in any state (hidden, normal, minimized, maximized)
  • open and close Excel workbooks (optionally with passwords and/or read only)
  • navigate workbooks, activating workbooks, worksheets and ranges
  • create new workbooks, optionally based on pre-defined templates
  • import data into Excel from text files. If desired the data can be embedded in Excel template workbooks.
  • format Excel tables and defined ranges to create a sophisticated, custom look
  • insert values, pictures and formulae into cells. Retrieve data from cells.
  • copy data, formulae and/or formatting from one part of a workbook to another.
  • insert, delete and rename worksheets
  • create a variety of different charts
  • create pivot tables
  • run Excel macros
  • search and replace
  • print ranges, worksheets and workbooks
  • protect and unprotect cells, worksheets and workbooks
  • freeze and unfreeze the Excel window
  • close Excel

Using combinations of the ExcelController functions the Developer can do most of the things he or she would normally need to do without needing to learn the Excel object model. But ExcelController also provides access to the native Excel.Application object exposed by Excel itself so you can code additional version dependent or independent functionality if you wish.

ExcelController also offers sophisticated error handling. Many things can go wrong when working with a 3rd party application on a machine over which you have no control. ExcelController allows you to trap errors in a professional manner and return friendly error codes and text to the calling application to be acted upon as the Developer chooses. For more information on this see the Error Handling section later in this document.

When the ExcelController component is installed on the workstation, a Developer building an application with a product which supports the use of ActiveX components (such as Visual Basic or Delphi) can access any of the ExcelController methods (functions) and properties from within their code.

ExcelController is a 32-bit in-process OLE server DLL. A few ExcelController functions do not work with the pre-97 versions as they offer functionality which was not available in these versions but where this is the case it is clearly pointed out in the documentation (see individual function descriptions for details) and the functions do not fail instead they return a trappable error indicating that that version of Excel does not support that functionality. This allows the Developer to handle the exception smoothly and avoid unpleasant application failures.

ExcelController includes a sample Visual Basic project that demonstrates how to call the component functions.

ExcelController is a companion product to WordController that is for Microsoft Wordintegration. The two products work in a similar way but are completely independent.

ExcelController and its companion product WordController have been in use in production systems since 1997 and are in use on more than 100,000 workstations worldwide. Join the long list of household names and government organizations around the world who have taken the pain out of Office integration.