I think for the flexibility NPOI offers I'll stick with it for now , but I think LinqToExcel certainly had potential but if you look at the source code it was not written very well , don't mean that badly but its got hard coded connection strings and the like in the code, but maybe the developer was just fleshing something out and didn't bother to tidy it up, good basic idea though, I tried it without using a class for the worksheet though and it just returned an empty set , it was at that point I gave up on it, when I have some free time I might think of writing some wrapper classes for NPOI though , in my tests scanning through some worksheets with 40000 + rows I've been creating CSV files ( with the serialiser class you pointed out ) in a few seconds which is impressive, my method ( tried and tested ) is to create a data table and build a generic list from that , I then use linq queries to remove duplicates and do some sorting and the like , I've gone from not liking LINQ very much to loving it.
Regards,
Peter J. Kane
Pete