Browse Source

Able to get worksheet by position

Piotr Czajkowski 2 months ago
parent
commit
0276fbffb8

+ 11 - 0
ExcelORM/ExcelORM/ExcelDynamicReader.cs

@@ -49,6 +49,17 @@ public class ExcelDynamicReader
             yield return value;
     }
 
+    public IEnumerable<List<DynamicCell>> Read(int worksheetIndex = 1, uint startFrom = 1, uint skip = 0)
+    {
+        if (worksheetIndex > xlWorkbook.Worksheets.Count) yield break;
+
+        var worksheet = xlWorkbook.Worksheets.FirstOrDefault(x => x.Position == worksheetIndex);
+        if (worksheet == null) yield break;
+
+        foreach (var value in Read(worksheet, startFrom, skip))
+            yield return value;
+    }
+
     private IEnumerable<List<DynamicCell>> Read(IXLWorksheet? worksheet, uint startFrom = 1, uint skip = 0)
     {
         if (worksheet == null) yield break;

+ 1 - 1
ExcelORM/ExcelORMTests/DynamicReaderTests.cs

@@ -19,7 +19,7 @@ public class DynamicReaderTests
     public void ReadDifferentTypes()
     {
         var reader = new ExcelDynamicReader(DifferentTypesFile);
-        var results = reader.Read("Sheet1").ToArray();
+        var results = reader.Read().ToArray();
         Assert.NotEmpty(results);
 
         var first = results.First();