【问题标题】:How to find the maximum row and column WITHOUT reading all data?如何在不读取所有数据的情况下找到最大行和列?
【发布时间】:2021-06-22 23:54:59
【问题描述】:

使用 C# .Net Google Sheets API.

我是 API 新手,所以我可能在文档中遗漏了它 - 但是如何在不读取工作表中的所有数据的情况下找出包含值的最大行和列?

例如,如果一个工作表包含多个值,并且工作表中具有值的“最后一个”单元格位于 C139(后面的行中没有单元格有值,并且 C 之后的任何列中的单元格都没有值),那么最大行数为 139,最大列数为 2(从零开始)或 3(从一开始)。

我尝试了 sheet.Properties.GridProperties.RowCount -- 但这给出了工作表中的总行数(单元格是否有值)。

sheet.Properties.GridProperties.ColumnCount 也是如此——给出工作表中的总列数(无论单元格是否有值)。

欢迎任何链接或想法。

【问题讨论】:

    标签: c# .net google-sheets-api


    【解决方案1】:

    我了解到您想知道工作表中的最后一行数据。在这种情况下,您可以使用一个简单的GET 来覆盖整个范围。例如,假设您的工作表只有两列,在这种情况下,您可以设置A1:B 之类的范围。该范围将包括完整的两列,但 get 只会得到数据。在此步骤中,您已经有一个填充了数据范围的数组,因此您只需计算最后一个元素的数组索引即可知道最后一行的值。如果您不知道您的工作表有多少列,您只需以与以前类似的方式修改范围(即A1:Z)。请询问我对这种方法的任何疑问。

    【讨论】:

    • 感谢您的评论——但最初的问题确实问“没有阅读工作表中的所有数据”——我希望有一个 API 调用可以告诉我最大值行和列,无需读取所有工作表数据。我似乎记得 Google App Script 中有一些可用的东西——但我使用的是 .Net API。
    • 感谢您的赞赏。没错,在 Apps Script 上,您可以使用 Range.getLastRow()/Range.getLastColumn() 来获取最后一行/列。我的答案适用于 Sheets API,但您可以使用 Apps Script API 运行一个脚本,让您获得最后一行/列的响应。这对您来说是一个有效的解决方案吗?
    • 再次感谢 -- 不幸的是,对于这个项目,我只与 .Net API 相关联,尚未找到 Apps Script 中存在的等效方法。
    猜你喜欢
    • 2021-08-06
    • 2022-08-06
    • 1970-01-01
    • 2019-07-24
    • 1970-01-01
    • 2011-12-05
    • 1970-01-01
    • 2021-05-23
    • 1970-01-01
    相关资源
    最近更新 更多