Поиск данных в Google Sheets из C # - PullRequest
0 голосов
/ 30 июня 2019

У меня есть настройка кода, которая сканирует лист Google построчно в поисках текста. Работает отлично. Но, похоже, должен быть более эффективный путь. (Кроме перемещения данных в базу данных mysql)

Есть ли способ сделать выборку, чтобы мне не приходилось сканировать каждую строку? Данные, которые я ищу, будут уникальными. Так что он будет возвращать только одно значение.

Вот код, который я сейчас использую:

var service = new SheetsService(new BaseClientService.Initializer()
{
    HttpClientInitializer = credential,
    ApplicationName = ApplicationName,
});

// Define request parameters.
String spreadsheetId = "xxxxxxxxxxxxxxxxxxxxxxx";
String range = "Sheet1!A:K";
SpreadsheetsResource.ValuesResource.GetRequest request =
        service.Spreadsheets.Values.Get(spreadsheetId, range);
ValueRange response = request.Execute();
IList<IList<Object>> values = response.Values;
if (values != null && values.Count > 0)
{
    Console.WriteLine("Name, Team, Age");
    try
    {
        foreach (var row in values)
        {
            string bcvalue = row[0].ToString();
            if (bcvalue == "*" + barcode + "*")
            {
                // Print columns A, B, C, which correspond to indices 0-2.
                Console.WriteLine("{0}, {1}, {2}", row[0], row[1], row[2]);
                output = string.Format("{0}, {1}, {2}", row[0], row[1], row[2]);
                return output;
            }
        }
    }
    catch
    {
        return "error";
    }
}
...