protected List<Tuple<int, string>> BuscarTablas(IWorksheet sheet, bool buscarNombre = false) { var total = sheet.NumRows; var lista = new List<Tuple<int, string>>(); for (int i = 2; i <= total; i++) { var txt = sheet.GetString("A", i) ?? ""; if (txt != "Canton") continue; var nombre = sheet.Name; if (buscarNombre) { nombre = sheet.GetString("A", i - 1); if (string.IsNullOrEmpty(nombre)) continue; } var t = Tuple.Create(i + 1, nombre); lista.Add(t); } return lista; }
protected IList<ValoresFuente> LlenarTabla(IWorksheet sheet, int row, FichaIndicadores ficha) { var lista = new List<ValoresFuente>(); var total = sheet.NumRows; var listaVars = ficha.Variables.Select(x => x.Value).OrderBy(x => x.Orden); for (int i = row; i <= total; i++) { var codigo = sheet.GetString("B", i); if (string.IsNullOrEmpty(codigo)) break; // IMPORTANTE var f = new ValoresFuente { Tipo = ficha.Nombre, IdItem = total++, Codigo1 = codigo }; var nombre = sheet.GetString("C", i); f.Codigo2 = string.IsNullOrEmpty(nombre) ? codigo : nombre; var off = 3; foreach (var v in listaVars) { off++; f[v.Codigo] = sheet.GetString(off, i); } lista.Add(f); } return lista; }