我如何在谷歌电子表格中使用C#来处理空单元格?

问题描述 投票:1回答:1

我有一个表格,你的数据每周都会改变,在一些单元格中它是空的,偶尔它会给我带来一个错误,因为显然它只能读取不是空的值,我想知道我如何能读取它,即使它不会给我带来任何数据。

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给出了异常"

编辑

解决问题的方式作为一个简单的过程,转化的方式。objectstring 然后用 Split 去掉空位

  String[] str = row[0].ToString().Split(null);
  Console.WriteLine(str[0]);
c# google-sheets google-api google-api-dotnet-client
1个回答
0
投票

这是我在解决方案中的做法。

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

最后的""是默认值

© www.soinside.com 2019 - 2024. All rights reserved.