Use GetRows to iterate the rows of an Excel table. Filtered rows are automatically skipped, and the rows are buffered internally to eliminate having to make a slow COM interop call to get each row.
A collection of the column names in the table is available via the property.
Note that although this class is optimized for reading a table, the property allows you to write to the cells in a row as well. However, each such write operation incurs the overhead of a COM call, so this class should not be used when there are hundreds of cells that need to be written to.