查找Google Spreadsheet API中的最后一行

时间:2016-07-27 08:32:00

标签: google-spreadsheet-api

有没有办法找到你用Java编写的谷歌电子表格中写的最后一行?

我尝试通过在另一个文件中保存一个变量来实现这一点,每次我再写一次时都会更新。还有其他办法吗?

1 个答案:

答案 0 :(得分:4)

查找Google Spreadsheet API中的最后一行

我将首先使用REST调用给你一个概念,但你必须在Java中应用它。

  1. 超出了你写作的细胞范围。 因此,要查找单元格A1:A10之间的最后写入行,请使用范围A1:A11或A1:B(使用B表示将遍历单元格A中的所有行)。
  2. 使用GET获取一系列单元格。解析响应结果。并获取解析值的长度。 长度将始终指示最后一行,因为Sheetsv4忽略空白/空单元格。
  3. 例如,我在A1:A10之间有一系列单元格。我在A10写了“你好”。按照上面的概念,我这样做:

    ..
    xhr.open('GET', 'https://sheets.googleapis.com/v4/spreadsheets/'+myspreadsheetId+'/values/Sheet1!A1:A10);
    ..
    xhr.onload = function (oEvent) {
    arrayBuffer = xhr.response; 
    myArray = JSON.parse(arrayBuffer);
    console.log("last row is " + myArray.values.length)
    .. //output is 'last row is 10'
    

    我的XHR请求的这一部分返回10.现在我知道我的工作表中最后写的行是A10。

    要在Java中执行此操作,请使用基于此SO thread的解决方案。

    mService.spreadsheets().values().get("ID_SHEET", "Sheet1!A1:B").execute();
    

    同时检查thread关于使用Java写入数据单元的问题。我认为它也提供了额外的见解。