Получить название столбца Google таблицы по значению его ячейки

Boom Zoom

Client
Регистрация
13.03.2020
Сообщения
81
Благодарностей
10
Баллы
8
Есть код, который ищет нужную строку в таблице Google по значению ячейки (приложу ниже). Работает отлично.
Мне нужно сделать тоже самое, только чтобы вместо номера строки возвращалось название столбца.
Подскажите пожалуйста, как поправить код под мою задачу?
C#:
// берем из переменной текст, который надо искать
var textContains = project.Variables["text"].Value;
// получаем таблицу, в которой будем искать
var sourceTable = project.GoogleSpreadsheets["Название таблицы"];
// ищем в каждой строчке в таблице
    for(int i=0; i < sourceTable.RowCount; i++)
    {
        // читаем строку из таблицы (это будет массив ячеек)
        var cells = sourceTable.GetRow(i).ToArray();
        // пройдем в цикле по всем ячейкам
        for (int j=0; j < cells.Length; j++)
        {
            // проверяем содержание текста в ячейке, если есть совпадение возвращаем
            // номер ячейки
            if (cells[j].Contains(textContains))
            {
            project.Variables["RowNumber"].Value = Convert.ToString(i);
                return i;
            }
        }
    }
// если ничего не нашли возвращаем "no"
    project.Variables["RowNumber"].Value = "no";
return "no";
 

Boom Zoom

Client
Регистрация
13.03.2020
Сообщения
81
Благодарностей
10
Баллы
8
Нашел решение. Вот код, возвращает номер столбца.
C#:
// Берем из переменной текст, который надо искать
var textContains = project.Variables["text"].Value;
// Получаем таблицу, в которой будем искать
var sourceTable = project.GoogleSpreadsheets["Название таблицы"];

// Получаем заголовки столбцов (первая строка таблицы)
var columnHeaders = sourceTable.GetRow(0).ToArray();

// Проходим в цикле по всем столбцам
for (int j = 0; j < columnHeaders.Length; j++)
{
    // Проверяем содержание текста в столбце
    if (columnHeaders[j].Contains(textContains))
    {
        project.Variables["ColumnNumber"].Value = j.ToString(); // Сохраняем номер столбца
        return j.ToString(); // Возвращаем номер столбца
    }
}

// Если ничего не нашли, возвращаем "-1" или любое другое значение, которое будет обозначать отсутствие совпадений
project.Variables["ColumnNumber"].Value = "-1";
return "-1";
 
  • Спасибо
Реакции: ezotonal

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)