Как я готов пустую ячейку в Google Spreadsheet, используя C#? - PullRequest
1 голос
/ 03 мая 2020

У меня есть таблица, в которой ваши данные меняются каждую неделю, и в некоторых ячейках она равна нулю, иногда она приносит мне ошибку, потому что, очевидно, она может читать только те значения, которые не равны нулю, я хотел бы знать, как Я могу прочитать его в любом случае, даже если он не принесет мне никаких данных.

the null cells is E1 for example

Я хочу, например, прочитать нулевую ячейку E2.

что я делал до сих пор в своем проекте

 {
        UserCredential credential;

        using (var stream = new FileStream("credentials.json", FileMode.Open, FileAccess.Read))
        {
            string creadPath = "token.json";
            credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
                GoogleClientSecrets.Load(stream).Secrets,
                Scopes,
                "user",
                CancellationToken.None,
                new FileDataStore(creadPath, true)).Result;
            label1.Text = "Conected with sheet";


        }
        var service = new SheetsService(new BaseClientService.Initializer()
        {
            HttpClientInitializer = credential,
            ApplicationName = ApplicationName
        });
        {
            var LimiteOP = $"{sheet}!B3:E3";
            SpreadsheetsResource.ValuesResource.GetRequest request = service.Spreadsheets.Values.Get(SpreadSheetId, LimiteOP);
            var response = request.Execute();

            IList<IList<Object>> values = response.Values;

            if (values.Count > 0)
            {
                foreach (var row in values)
                {

                    Console.WriteLine(row[0]+" "+ row[1]+" " + row[2]);
                }
             }
              else
             {
                Console.WriteLine("Nothing");
             }

Обновление (из комментариев): "consolewrite дает исключение"

РЕДАКТИРОВАТЬ

, чтобы решить проблему, которая была простой процедурой, преобразуйте object в string и затем используйте Split для удаления пустые места

  String[] str = row[0].ToString().Split(null);
  Console.WriteLine(str[0]);

1 Ответ

0 голосов
/ 07 мая 2020

Вот что я сделал в своем решении:

  row.ElementAtOrDefault(1)?.ToString() ?? ""

"" в конце - это значение по умолчанию

...