using System.Linq;
namespace FastExcel
{
///
/// Fast Excel
///
public partial class FastExcel
{
///
/// Read a sheet by sheet number
///
public Worksheet Read(int sheetNumber, int existingHeadingRows = 0)
{
return Read(sheetNumber, null, existingHeadingRows);
}
///
/// Read a sheet by sheet name
///
///
///
///
public Worksheet Read(string sheetName, int existingHeadingRows = 0)
{
return Read(null, sheetName, existingHeadingRows);
}
private Worksheet Read(int? sheetNumber = null, string sheetName = null, int existingHeadingRows = 0)
{
Worksheet worksheet = null;
if (_worksheets == null)
{
worksheet = new Worksheet(this);
worksheet.Read(sheetNumber, sheetName, existingHeadingRows);
}
else
{
worksheet = (from w in Worksheets
where (sheetNumber.HasValue && sheetNumber.Value == w.Index) ||
(sheetName == w.Name)
select w).SingleOrDefault();
worksheet.Read(existingHeadingRows);
}
return worksheet;
}
}
}