public static Sprite GetSprite(string inputFile) { using var reader = new ExcelReader(inputFile); var sprite = new Sprite { Name = inputFile }; if (reader.UsedRangeIsEmpty) { return(sprite); } for (var r = 1; r <= reader.UsedRowCount; r++) { var row = new Pixel[reader.UsedColumnCount]; for (var c = 1; c <= reader.UsedColumnCount; c++) { row[c - 1] = parsePixel(reader.GetCellfromUsedRange(r, c)); } sprite.AddRange(row); } // crop sprites. delete blank sprites sprite.Crop(); return(sprite); }