These classes provide the tools and data structures needed to separate your physical data in your spreadsheet, from how you process it in your procedures. Notice that the row and column numbers begin at 1, and are relative to the start of the dataset (not the row/column on the spreadsheet), in order to abstract the cDataset from its physical location. This class is used throughout this site. Here are just a few examples of the projects illustrating its use. You may want to start with How to use cDataSet
- Data Abstraction Example
- Get Data from Outlook
- Get Data From Google Docs
- Creating Google Maps Layers from Excel Data
- Google Visualization
- json
- Copying and filtering worksheets and Excel tables
- How to use cDataSet functionality
- cDataSet Model
- Data Driven Mapping applications
- Rest to Excel library
- Execute SQL from Excel
- How to create a tag cloud
- Roadmap Generation
- Using Google Maps
- Create a heatmap in Excel
- Array formulas and large ranges
- Charts and color ramps
- Simple implementation of R- melt
What to download
All the examples contain all the classes needed for them to work and all projects can be found here.
If you just want the main utility classes used throughout this site, in the Downloads section cDataSet.xlsm includes everything you need including some examples.
All classes have a tearDown method. You can use these to release up any memory when you are done. You execute this for the highest level class you use, typically a cDataSet, as follows
dim ds as cDataSetset ds=new cDataSetwith ds.populateData(someRange) ... do thingsend withds.tearDown()cCell
This is the basic element, like a worksheet cell. It remembers its original location, and keeps the value at the time of loading (or last refresh). There will be one of these for every cell in the worksheet that has been loaded.
cDataSets
A collection of cDataSet.
cDataRow
There is one of these for each Row that contains data in scope. It contains a collection of cCell and a reference to the cDataSet it belongs in
cDataSet
One of these for the data in scope. Contains references to collections of cDataRow and cDataColumn as well as cHeadingRow. Most required information, for example values can be accessed directly from this class and this is the main interaction class.


