I did a lot of reading from Excel files in C# a while ago, and we used two approaches:
- The COM API, where you access Excel's objects directly and manipulate them through methods and properties
- The ODBC driver that allows to use Excel like a database.
The latter approach was much faster: reading a big table with 20 columns and 200 lines would take 30 seconds via COM, and half a second via ODBC. So I would recommend the database approach if all you need is the data.
Cheers,
Carl