Google 工作表列数

Google Sheets Number of columns

我想阅读 sheet 并且我想知道它的维度(列数、行数)。

获得这些最简单的方法是什么?来自

Get get = Sheets.getSheetsService().spreadsheets().values().get(spreadsheetId, sheetRange);

我想知道包含数据的列数,我不想知道 sheet 的实际大小,因为可能有很多空单元格。

这有可能吗?

当您说“不想要 sheet 的实际大小,因为可能有很多空单元格。”不确定您的意思是您只想要最大数据范围,last rowlast col 数据?或者只是包含数据的行数和列数

如果最后一个 row/col 数据范围,您可以使用 spreadsheets.values.get() and find the length of the returned values 作为行,然后使用列表中最大的 array.length 作为 last column 数据。 这是有效的,因为 returned values 排除了额外的空行和列:

For output, empty trailing rows and columns will not be included.

使用 google 应用程序脚本和 javascript 的示例可以在 google 应用程序脚本中进行测试
[希望您能了解该过程 - 还没有有段时间没用过 Java,不希望它成为一个混乱点]

function getDimensions () {
  var data = Sheets.Spreadsheets.Values.get("SPREADSHEET_ID","SHEET_NAME"); 
  // returned value list[][]
  var arr = data.values;

  // last row with data
  var rows = arr.length;

  // last column with data
  var cols = arr.reduce(function(accumulator, el, i) {
    if (i == 1) { accumulator = accumulator.length } 
    return Math.max(accumulator, el.length);
  });
}

编辑: 获取列的一种简单方法是在 Sheets.Spreadsheets.Values.get("ID","SN", {majorDimension: "COLUMNS"}) 中添加 majorDimension 参数,然后在 arr.length returns 列长度

从那里您可以过滤掉包含数据的列或行之间的空列或行 - 以获得仅数据的计数 rows/cols;据我所知,无法从 API 本身获得该计数。