I am using the LinqToExcel project developed by MIT and hosted on Google Code at http://code.google.com/p/linqtoexcel/wiki/UsingLinqToExcel.
It seems pretty straight forward and elegant. I was able to rewrite a method that used the MS excel interop library and the code was about 1/3 the size.
However, I ran into an issue with trying to query a range of cells. VS2008 picks it up as a syntax error:
//These lines are fine
IEnumerable<string> names = new List<string>();
var excel = new Excel.ExcelQueryFactory(_excelFilePath);
//This line shows a syntax error starting from c
names = from c in excel.WorksheetRange("A1", "AI1", headerName)
c == "IN"
It should have been:
var names = from c in excel.WorksheetRange("A1", "AI1", headerName) where c == "IN" select c;