/// <summary> /// Maps the spreadsheet at the given path to an enumerable of type T using an options builder /// </summary> /// <example> /// <code> /// var optionsBuilder = new ExcelToEnumerableOptionsBuilder<TestClass>(); /// optionsBuilder.AggregateExceptions(); /// IEnumerable<MyClass> results = "C://path/to/spreadsheet".ExcelToEnumerable<MyClass>(optionsBuilder); /// </code> /// </example> /// <param name="excelFilePath"></param> /// <param name="options"></param> /// <typeparam name="T"></typeparam> /// <returns></returns> public static IEnumerable <T> ExcelToEnumerable <T>(this string excelFilePath, IExcelToEnumerableOptionsBuilder <T> options) where T : new() { var excelToEnumerableMapper = new ExcelToEnumerableMapper <T>(); return(excelToEnumerableMapper.MapExcelToEnumerable(excelFilePath, ExcelToEnumerableContext.Instance, ((ExcelToEnumerableOptionsBuilder <T>)options).Build())); }
/// <summary> /// Maps the worksheet Stream to an enumerable of type T, using an optional fluent options expression /// </summary> /// <example> /// <code> /// IEnumerable<MyClass> results = excelStream.ExcelToEnumerable<MyClass>(x => x /// .UsingSheet("My Spreadsheet") /// ); /// </code> /// </example> /// <param name="excelStream"></param> /// <param name="options"></param> /// <typeparam name="T"></typeparam> /// <returns></returns> public static IEnumerable <T> ExcelToEnumerable <T>(this Stream excelStream, Action <IExcelToEnumerableOptionsBuilder <T> > options = null) where T : new() { var builtOptions = BuildOptions(options); var excelToEnumerableMapper = new ExcelToEnumerableMapper <T>(); return(excelToEnumerableMapper.MapExcelToEnumerable(excelStream, ExcelToEnumerableContext.Instance, builtOptions)); }