Чтение таблицы Google из определенной ячейки - PullRequest
1 голос
/ 06 марта 2019

Я пытаюсь прочитать электронную таблицу Google в нашем приложении и которая работает нормально на данный момент.

Однако, как я могу найти конкретную ячейку на основе предоставленного значения и чтения электронной таблицы из этой ячейки.Например, электронная таблица содержит 100 строк с данными для 2 столбцов (Имя, Город).

Поэтому мне нужно найти идентификатор ячейки из столбца Имя.Например, Name = 'John' возвращает CellID как 'A50'. Затем я начну читать электронную таблицу из A50.

Ниже приведен мой код, в котором я читаю данные из жестко закодированного идентификатора ячейки / диапазона

static string[] DocsScopes = { SheetsService.Scope.SpreadsheetsReadonly };
static string ApplicationName = "Other client 2";

private static void ReadExcelSheet()
        {
            UserCredential credential;

            using (var stream = new FileStream("credentials.json", FileMode.Open, FileAccess.Read))
            {

                string credPath = "token.json";
                credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
                    GoogleClientSecrets.Load(stream).Secrets,
                    DocsScopes,
                    "user",
                    CancellationToken.None,
                    new FileDataStore(credPath, true)).Result;
                Console.WriteLine("Credential file saved to: " + credPath);
            }

            // Create Google Sheets API service.
            var service = new SheetsService(new BaseClientService.Initializer()
            {
                HttpClientInitializer = credential,
                ApplicationName = ApplicationName,
            });

            // Define request parameters.
            string spreadsheetId = "1_kJmQsQ2tQxTe0K8upz3byrfSfQ9db_jIitvq3wqsaza8Yzo";
            string range = "Sheet1!A2:B";
            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)
            {
                foreach (var row in values)
                {
                    Console.WriteLine("{0}, {1}", row[0], row[1]);
                }
            }
            else
            {
                Console.WriteLine("No data found.");
            }

            Console.Read();
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...