基本格式设置

使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

您可以使用 Sheets API 更新电子表格中的单元格和范围的格式。本页面上的示例说明了如何使用 API 实现一些常见的格式设置操作。您可以在条件格式诀窍页面中找到更多条件格式示例。

在这些示例中,占位符 spreadsheetIdsheetId 用于指示您要提供这些 ID 的位置。您可以在电子表格网址中找到电子表格 ID。您可以使用 spreadsheets.get 方法获取工作表 ID

在上面的视频中,您将了解如何以各种方式设置电子表格单元格的格式,包括:创建冻结行、加粗单元格、设置货币格式、执行单元格验证和限制单元格值。

编辑单元格边框

以下 spreadsheets.batchUpdate 请求会为 A1:F10 范围内的每个单元格显示一条蓝色虚线顶部和底部边框。innerHorizontal 字段将在范围的内部创建水平边框;如果省略边框,则系统只会将边框添加到整个范围的顶部和底部。

请求协议如下所示。更新电子表格指南介绍了如何使用 Google API 客户端库实现不同语言的批量更新。

POST https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId:batchUpdate
{
  "requests": [
    {
      "updateBorders": {
        "range": {
          "sheetId": sheetId,
          "startRowIndex": 0,
          "endRowIndex": 10,
          "startColumnIndex": 0,
          "endColumnIndex": 6
        },
        "top": {
          "style": "DASHED",
          "width": 1,
          "color": {
            "blue": 1.0
          },
        },
        "bottom": {
          "style": "DASHED",
          "width": 1,
          "color": {
            "blue": 1.0
          },
        },
        "innerHorizontal": {
          "style": "DASHED",
          "width": 1,
          "color": {
            "blue": 1.0
          },
        },
      }
    }
  ]
}

设置标题行的格式

以下 spreadsheets.batchUpdate 请求会设置工作表中的标题行格式。第一个请求会更新文本颜色、背景颜色、文本字体大小和文本对齐方式,并使文本变为粗体;如果省略 range 字段中的列索引,则将对整个行进行格式设置。第二个请求会调整工作表属性,使标题行冻结。

请求协议如下所示。更新电子表格指南介绍了如何使用 Google API 客户端库实现不同语言的批量更新。

POST https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId:batchUpdate
{
  "requests": [
    {
      "repeatCell": {
        "range": {
          "sheetId": sheetId,
          "startRowIndex": 0,
          "endRowIndex": 1
        },
        "cell": {
          "userEnteredFormat": {
            "backgroundColor": {
              "red": 0.0,
              "green": 0.0,
              "blue": 0.0
            },
            "horizontalAlignment" : "CENTER",
            "textFormat": {
              "foregroundColor": {
                "red": 1.0,
                "green": 1.0,
                "blue": 1.0
              },
              "fontSize": 12,
              "bold": true
            }
          }
        },
        "fields": "userEnteredFormat(backgroundColor,textFormat,horizontalAlignment)"
      }
    },
    {
      "updateSheetProperties": {
        "properties": {
          "sheetId": sheetId,
          "gridProperties": {
            "frozenRowCount": 1
          }
        },
        "fields": "gridProperties.frozenRowCount"
      }
    }
  ]
}

合并单元格

以下 spreadsheets.batchUpdate 请求会合并单元格。第一个请求会将 A1:B2 范围合并到一个单元格中。第二个请求将合并 A3:B6 中的列,并使行保持分隔状态。

请求协议如下所示。更新电子表格指南介绍了如何使用 Google API 客户端库实现不同语言的批量更新。

POST https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId:batchUpdate
{
  "requests": [
    {
      "mergeCells": {
        "range": {
          "sheetId": sheetId,
          "startRowIndex": 0,
          "endRowIndex": 2,
          "startColumnIndex": 0,
          "endColumnIndex": 2
        },
        "mergeType": "MERGE_ALL"
      }
    },
    {
      "mergeCells": {
        "range": {
          "sheetId": sheetId,
          "startRowIndex": 2,
          "endRowIndex": 6,
          "startColumnIndex": 0,
          "endColumnIndex": 2
        },
        "mergeType": "MERGE_COLUMNS"
      }
    },
  ]
}

为范围设置自定义日期时间或小数格式

以下 spreadsheets.batchUpdate 请求会将单元格更新为具有自定义日期时间和数字格式。 第一个请求为 A1:A10 中的单元格提供了自定义日期时间格式 hh:mm:ss am/pm, ddd mmm dd yyyy。采用此格式的日期时间示例为:“02:05:07 PM, Sun Apr 03 2016”。

第二个请求为 B1:B10 中的单元格分配自定义数字格式 #,##0.0000,这表示数字应该使用英文逗号分隔,并且应在小数点后保留 4 位数字,并且只保留一个前导零。例如,数字“3.14”会呈现为“3.1400”,而“12345.12345”会呈现为“12,345.1235”。

请求协议如下所示。更新电子表格指南介绍了如何使用 Google API 客户端库实现不同语言的批量更新。

POST https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId:batchUpdate
{
  "requests": [
    {
      "repeatCell": {
        "range": {
          "sheetId": sheetId,
          "startRowIndex": 0,
          "endRowIndex": 10,
          "startColumnIndex": 0,
          "endColumnIndex": 1
        },
        "cell": {
          "userEnteredFormat": {
            "numberFormat": {
              "type": "DATE",
              "pattern": "hh:mm:ss am/pm, ddd mmm dd yyyy"
            }
          }
        },
        "fields": "userEnteredFormat.numberFormat"
      }
    },
    {
      "repeatCell": {
        "range": {
          "sheetId": sheetId,
          "startRowIndex": 0,
          "endRowIndex": 10,
          "startColumnIndex": 1,
          "endColumnIndex": 2
        },
        "cell": {
          "userEnteredFormat": {
            "numberFormat": {
              "type": "NUMBER",
              "pattern": "#,##0.0000"
            }
          }
        },
        "fields": "userEnteredFormat.numberFormat"
      }
    }
  ]
}