首页 > 解决方案 > 我如何使用 C# 在 Google 电子表格中准备空单元格?

问题描述

我有一个表格,您的数据每周都会更改,并且在某些单元格中为空,有时它会给我带来错误,因为显然它只能读取不为空的值,我想知道我该如何阅读无论如何,即使它没有给我带来任何数据。

例如,空单元格是 E1

例如,我想读取 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");
             }

更新(来自评论):“控制台写入异常”

编辑

要解决作为简单过程的方式的问题,将 转换object为 astring然后使用 aSplit删除空空格

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

标签: c#google-sheetsgoogle-apigoogle-api-dotnet-client

解决方案


这就是我在解决方案中所做的:

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

末尾的“”是默认值


推荐阅读