ExcelADO.NET & ExcelOLE.NET

ExcelADO is a VB class which allows you to open an Excel file via ADO. The class object includes several easy to use methods to read and write data into an excel file. For more advanced features, the class allows you to manipulate the DataSet (DataTable or DataRow) directly. There are 2 different methods of accessing Excel workbooks: OLE and ADO. Click here to see the ExcelADO class.

ExcelOLE is a VB class which allows you to open an Excel file via OLE Automation (COM). The class object includes several easy to use methods to read and write data into an excel file. For more advanced features, the class allows you to manipulate the Excel Workbook directly. There are 2 different methods of accessing Excel workbooks: OLE and ADO. Click here to see the ExcelOLE class.

What is OLE Automation (COM)?
Object Linking and Embedding is a method of controlling an application (Excel) via another application (VB.NET).

Pros:
Allows access to all functions in excel.
Allows you to control everything which Excel can control (data, formatting, menu functions etc)

Cons:
You must have Microsoft Excel installed on your web server - Excel is a very complex file format. Only Microsoft and a hand full of vendors can read it properly - and they all charge $ for their software.
If something goes wrong (Excel decides to ask you a question which is never displayed and can't be answered) the object will sit and wait forever (hang). If you test your script and have a reasonable level of error checking, then this is not an issue.

What is ADO?
Active Data Objects is the normal way of manipulating data in VB.NET. This typically uses a Jet Database driver and a DataSet (DataTable and DataRow) to stream data in and out of the target object.

Pros:
Fast and reliable.
Can use SQL queries to select/update data. (Most methods and properties of the Connection and Recordset objects are supported)

Cons:
You must have Microsoft Excel (or just it's ODBC drivers if you can achieve that) installed on your server - Excel is a very complex file format. Only Microsoft and a hand full of vendors can read it properly - and they all charge $ for their software.
You must have a header row. You can not access any area which does not have a header row (column names) covering it.
Can not delete rows.
Can not create a new file or change it's schema
Supports data only - no formatting etc.