示例#1
0
        /// <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&lt;TestClass&gt;();
        /// optionsBuilder.AggregateExceptions();
        /// IEnumerable&lt;MyClass&gt; results = "C://path/to/spreadsheet".ExcelToEnumerable&lt;MyClass&gt;(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()));
        }
示例#2
0
        /// <summary>
        /// Maps the worksheet Stream to an enumerable of type T, using an optional fluent options expression
        /// </summary>
        /// <example>
        /// <code>
        /// IEnumerable&lt;MyClass&gt; results = excelStream.ExcelToEnumerable&lt;MyClass&gt;(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));
        }