Запись в несколько гугл таблиц

arbplv

Client
Регистрация
28.03.2020
Сообщения
373
Благодарностей
23
Баллы
18
Добрый. Нужна помощь, не хочется колхозить.
Есть 10 таблиц, таблицы однотипные, по ним нужно проходиться раз в сутки и делать одно и тоже.
Как мне засунуть в цикл все таблички, так сказать сделать список из названий, чтобы когда выдергивал из списка, записывалось в нужную табличку
Просьба не ругаться, пишу по памяти, может код не работать, задача была донести логику.
C#:
IZennoTable table = project.GoogleSpreadsheets["debug"];
table.ColSeparator = "-:-";
IZennoTable table2 = project.GoogleSpreadsheets["debug_2"];
table2.ColSeparator = "-:-";
list_table = ["table", "table2"];

for (int j=0; j<list_table.count(); j++){
    table = list_table[j]
    for (int i=0; i<table.RowCount; i++){
        if(table.GetCell("K",i).ToString()!="в работе") continue;
        //project.SendInfoToLog(table.RowCount.ToString());
        string test = table.GetCell("F",i).ToString().Trim();
        project.SendInfoToLog(test);
        if (i>10) break;
    }
}
Спасибо
 

nicanil

Client
Регистрация
06.03.2016
Сообщения
2 242
Благодарностей
1 820
Баллы
113
Сохраните названия таблиц в список. В цикле берите имя и подставляйте его в project.GoogleSpreadsheets. Приложил небольшой пример. Если работаете многопоточно и данные в таблицах изменяются, то также стоит использовать lock'и.
C#:
var tableNames = new List<string>()
{
    "debug",
    "alpha_release",
    "beta_release",
    "test"
};

foreach (string name in tableNames)
{
    var table = project.GoogleSpreadsheets[name];
    project.SendInfoToLog(table.GetCell(0, 0));
}
 
  • Спасибо
Реакции: one и arbplv

arbplv

Client
Регистрация
28.03.2020
Сообщения
373
Благодарностей
23
Баллы
18
Да, тоже подумал что стринг может зайти в project.GoogleSpreadsheets. Спасибо
 

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