I know that there are different ways to read an Excel file:
IteropOledbOpen Xml SDKC
Take a look at Linq-to-Excel. It's pretty neat.
var book = new LinqToExcel.ExcelQueryFactory(@"File.xlsx");
var query =
from row in book.Worksheet("Stock Entry")
let item = new
{
Code = row["Code"].Cast(),
Supplier = row["Supplier"].Cast(),
Ref = row["Ref"].Cast(),
}
where item.Supplier == "Walmart"
select item;
It also allows for strongly-typed row access too.