|
@@ -105,6 +105,23 @@ public sealed class ExcelDynamicReader : IDisposable
|
|
|
Cells = Read(worksheet, startFrom, skip)
|
|
Cells = Read(worksheet, startFrom, skip)
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ public static IEnumerable<List<DynamicCell>> ReadData(string? path, string? worksheetName = null, uint startFrom = 1, uint skip = 0)
|
|
|
|
|
+ {
|
|
|
|
|
+ var workbook = new XLWorkbook(path);
|
|
|
|
|
+ var worksheet = string.IsNullOrWhiteSpace(worksheetName) ? workbook.Worksheets.FirstOrDefault()
|
|
|
|
|
+ : workbook.Worksheets.FirstOrDefault(x => x.Name.Equals(worksheetName, StringComparison.InvariantCultureIgnoreCase));
|
|
|
|
|
+
|
|
|
|
|
+ return worksheet == null ? [] : ReadData(workbook, worksheet.Position, startFrom, skip);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public static IEnumerable<List<DynamicCell>> ReadData(IXLWorkbook? workbook, int worksheetIndex = 1, uint startFrom = 1, uint skip = 0)
|
|
|
|
|
+ {
|
|
|
|
|
+ if (workbook == null || worksheetIndex < 1 || worksheetIndex > workbook.Worksheets.Count) return [];
|
|
|
|
|
+
|
|
|
|
|
+ var reader = new ExcelDynamicReader(workbook);
|
|
|
|
|
+ return reader.Read(worksheetIndex, startFrom, skip);
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
public void Dispose()
|
|
public void Dispose()
|
|
|
{
|
|
{
|