JAVA: Google Sheet API V4 入门一 :基本读取

利用 Sheets API,您可以读取单元格、范围、范围集以及整个工作表中的值。 本页面上的示例说明了如何使用此 API 的 spreadsheets.values 集合实现一些常用的读取操作。您也可以使用 spreadsheets.get 方法读取单元格值,不过在大多数情况下,使用 spreadsheets.values.getspreadsheets.values.batchGet 更加简单。

在这些示例中,占位符 spreadsheetId 用于表示您需要提供电子表格 ID 的位置,可以从电子表格网址中找到此 ID。要读取的范围在请求网址中使用 A1 表示法指定。

这些示例均假设要读取的电子表格在其第一个工作表(“Sheet1”)中有以下数据:

A B C D
1 Item Cost Stocked Ship Date
2 Wheel $20.50 4 3/1/2016
3 Door $15 2 3/15/2016
4 Engine $100 1 3/20/2016
5 Totals $135.5 7 3/20/2016

读取单个范围

下面的 spreadsheets.values.get 请求将读取存储在范围 Sheet1!A1:D5 中的值并在响应中返回这些值。空白的拖尾行和列将被忽略。

请求协议如下所示。 读取和写入值指南介绍了如何使用 Google API 客户端内容库以不同语言实现读取。

GET https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId/values/Sheet1!A1:D5

此方法调用的响应为一个 ValueRange 对象,该对象对范围值进行了说明:

{
  "range": "Sheet1!A1:D5",
  "majorDimension": "ROWS",
  "values": [
    ["Item", "Cost", "Stocked", "Ship Date"],
    ["Wheel", "$20.50", "4", "3/1/2016"],
    ["Door", "$15", "2", "3/15/2016"],
    ["Engine", "$100", "1", "30/20/2016"],
    ["Totals", "$135.5", "7", "3/20/2016"]
  ],
}

读取按列分组的单个范围

下面的 spreadsheets.values.get 请求将读取存储在范围 Sheet1!A1:D3 中的值并在响应中返回这些值,不过值将按列分组。空白的拖尾行和列将被忽略。

请求协议如下所示。 读取和写入值指南介绍了如何使用 Google API 客户端内容库以不同语言实现读取。

GET https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId/values/Sheet1!A1:D3?majorDimension=COLUMNS

此方法调用的响应为一个 ValueRange 对象,该对象对范围值进行了说明:

{
  "range": "Sheet1!A1:D3",
  "majorDimension": "COLUMNS",
  "values": [
    ["Item", "Wheel", "Door"],
    ["Cost", "$20.50", "$15"],
    ["Stocked", "4", "2"],
    ["Ship Date", "3/1/2016", "3/15/2016"]
  ],
}

使用呈现选项读取单个范围

下面的 spreadsheets.values.get 请求将读取存储在范围 Sheet1!A1:D5 中的值并在响应中返回这些值,不过将使用呈现选项选择该信息的返回方式。ValueRenderOptionFORMULA 设置表示将返回公式,而不是计算值,DateTimeRenderOptionSERIAL_NUMBER 设置表示将以数字形式返回日期。其他设置也受支持。 响应将忽略空白的拖尾行和列。

请求协议如下所示。 读取和写入值指南介绍了如何使用 Google API 客户端内容库以不同语言实现读取。

GET https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId/values/Sheet1!A1:D5?
            valueRenderOption=FORMULA&dateTimeRenderOption=SERIAL_NUMBER

此方法调用的响应为一个 ValueRange 对象,该对象对范围值进行了说明:

{
  "range": "Sheet1!A1:D5",
  "majorDimension": "ROWS",
  "values": [
    ["Item", "Cost", "Stocked", "Ship Date"],
    ["Wheel", "$20.50", "4", "42430"],
    ["Door", "$15", "2", "42444"],
    ["Engine", "$100", "1", "42449"],
    ["Totals", "=SUM(B2:B4)", "=SUM(C2:C4)", "=MAX(D2:D4)"]
  ],
}

读取多个范围

下面的 spreadsheets.values.batchGet 请求将读取范围 Sheet1!B:B 和 Sheet1!D:D 中的值。ValueRenderOption 中的 UNFORMATTED_VALUE 设置表示返回的值为计算值,但不会在响应中进行格式化。响应将忽略空白的拖尾行和列。

请求协议如下所示。 读取和写入值指南介绍了如何使用 Google API 客户端内容库以不同语言实现读取。

GET https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId/values:batchGet?
            ranges=Sheet1!B:B&ranges=Sheet1!D:D&valueRenderOption=UNFORMATTED_VALUES?majorDimension=COLUMNS
响应由一个带有电子表格 ID 的对象和一组 ValueRange 对象组成,这组对象对应于每个已请求的范围,并按照请求顺序列示。例如:
{
  "spreadsheetId": spreadsheetId,
  "valueRanges": [
    {
      "range": "Sheet1!B1:B1000",
      "majorDimension": "COLUMNS",
      "values": [
        ["Cost",20.5,15,100,135.5]
      ]
    },
    {
      "range": "Sheet1!D1:D1000",
      "majorDimension": "COLUMNS",
      "values": [
        ["Ship Date",42430,42444,42449,42449]
      ]
    }
  ]
}

 

本文:JAVA: Google Sheet API V4 入门一 :基本读取