Ejemplo n.º 1
0
		/// <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;
		}