public static List <СвободнаяЯчейка> ПолучитьСвободныеЯчейки(Worksheet лист) { List <СвободнаяЯчейка> свободныеЯчейки = ПолучитьСвободныеЯчейкиПоУмолчанию(); Range меткаКодыЯчеек = ПолучитьМеткуИзЛиста(лист); if (меткаКодыЯчеек != null) { Range столбецСКодамиЯчеек = лист.Application.Intersect(меткаКодыЯчеек.EntireColumn, лист.UsedRange); if (меткаКодыЯчеек != null) { foreach (Range клетка in столбецСКодамиЯчеек) { if (клетка.Row > меткаКодыЯчеек.Row) { if (!ДопМетоды.КлеткаПустаИлиСодержитМетку(клетка)) { свободныеЯчейки.Add(new СвободнаяЯчейка(клетка.Value.ToString(), ПолучитьТипЯчейки(клетка))); } if (ДопМетоды.КлеткаПустаИлиСодержитМетку(клетка.Offset[1, 0])) { break; } } } } } return(свободныеЯчейки); }
private Столбец[] ПолучитьСтолбцыТаблицы() { if (меткаСтолбцов != null) { List <Столбец> списокСтолбцов = new List <Столбец>(); foreach (Range клеткаСтрокиСКодамиСтолбцов in ЛистКниги.Application.Intersect(меткаСтолбцов.EntireRow, ЛистКниги.UsedRange).Cells) { if (!ДопМетоды.КлеткаПустаИлиСодержитМетку(клеткаСтрокиСКодамиСтолбцов) && клеткаСтрокиСКодамиСтолбцов.Column > меткаСтолбцов.Column) { списокСтолбцов.Add(new Столбец(клеткаСтрокиСКодамиСтолбцов, Динамическая)); } } return(списокСтолбцов.ToArray()); } return(null); }
private Строка[] ПолучитьСтрокиТаблицы() { if (меткаКодыСтрок != null) { List <Строка> списокСтрок = new List <Строка>(); foreach (Range клеткаСтолбцаСКодамиСтрок in ЛистКниги.Application.Intersect(меткаКодыСтрок.EntireColumn, ЛистКниги.UsedRange).Cells) { if (!ДопМетоды.КлеткаПустаИлиСодержитМетку(клеткаСтолбцаСКодамиСтрок) && клеткаСтолбцаСКодамиСтрок.Row > меткаКодыСтрок.Row) { списокСтрок.Add(new Строка(клеткаСтолбцаСКодамиСтрок)); } } return(списокСтрок.ToArray()); } return(null); }