/// <summary> /// Dado un rango de lineas (inicio, fin) retorna una lista de cadenas de cada linea utilizando un separador /// y con una pista de parada si se encuentra la cadena /// </summary> /// <param name="sheet">Hoja de cálculo</param> /// <param name="start">Linea de inicio</param> /// <param name="end">Línea fin</param> /// <param name="separator">Cadena para separar entre celdas</param> /// <param name="stophint">Texto de parada si se encuentra en la primera celda</param> /// <returns></returns> public static List<string> TextLinesFromRange(IWorksheet sheet, int start, int end, string separator = "", string stophint = "") { end = Math.Min(sheet.NumRows, end); var list = new List<string>(); for (var i = start; i <= end; i++) { var cells = sheet.GetRow(i).Where(x => x != null).Select(x => x.ToString()).ToArray(); if (!string.IsNullOrEmpty(stophint)) { var first = cells.FirstOrDefault() ?? ""; if (first.StartsWith(stophint)) break; } var line = string.Join(separator, cells).Trim(); list.Add(line); } return list; }