Viết cơ bản

API Google Trang tính cho phép bạn ghi các giá trị và công thức vào ô, dải ô tập hợp dải ô và toàn bộ trang tính. Các ví dụ trên trang này minh hoạ cách một số bạn có thể thực hiện các thao tác ghi thông thường nhờ spreadsheets.values của API Trang tính.

Lưu ý rằng bạn cũng có thể ghi giá trị của ô bằng cách sử dụng spreadsheet.batchUpdate Phương pháp này có thể hữu ích nếu bạn muốn cập nhật đồng thời định dạng ô hoặc các thuộc tính khác mà spreadsheets.values tài nguyên không ảnh hưởng. Ví dụ: nếu bạn muốn sao chép một dải ô từ trang tính này sang trang tính khác trong khi ghi đè cả công thức ô và ô , bạn có thể sử dụng UpdateCellsRequest có một spreadsheet.batchUpdate.

Tuy nhiên, đối với giá trị đơn giản, việc ghi sẽ dễ dàng hơn spreadsheets.values.update hoặc spreadsheets.values.batchUpdate .

Những ví dụ này được trình bày dưới dạng các yêu cầu HTTP để trở thành ngôn ngữ bình thường. Để tìm hiểu cách triển khai chức năng ghi bằng nhiều ngôn ngữ bằng cách sử dụng thư viện ứng dụng API của Google, hãy xem phần Đọc & ghi ô giá trị.

Trong những ví dụ này, phần giữ chỗ SPREADSHEET_ID cho biết nơi bạn sẽ cung cấp bảng tính Mã nhận dạng, có thể được tìm thấy từ URL bảng tính. Dải ô cần ghi được chỉ định bằng A1 . Dải ô ví dụ là Sheet1!A1:D5.

Viết một dải ô duy nhất

Bắt đầu với một bảng tính mới, trống, như sau spreadsheets.values.update mã mẫu cho biết cách ghi các giá trị vào một dải ô. Chiến lược phát hành đĩa đơn Cụm từ tìm kiếm ValueInputOption là bắt buộc và xác định liệu giá trị đã ghi có được phân tích cú pháp hay không ví dụ: liệu một chuỗi có được chuyển đổi thành ngày tháng hay không).

Nội dung yêu cầu là ValueRange đối tượng mô tả các giá trị dải ô cần ghi. Chiến lược phát hành đĩa đơn Trường majorDimension cho biết các mảng là danh sách các giá trị được sắp xếp theo hàng. Giá trị hiện có trong phạm vi mục tiêu sẽ bị ghi đè.

Giao thức yêu cầu được trình bày dưới đây.

PUT https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/values/Sheet1!A1:D5?valueInputOption=VALUE_INPUT_OPTION
{
  "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", "3/20/2016"],
    ["Totals", "=SUM(B2:B4)", "=SUM(C2:C4)", "=MAX(D2:D4)"]
  ],
}

Phản hồi bao gồm một UpdateValuesResponse , chẳng hạn như đối tượng này:

{
  "spreadsheetId": SPREADSHEET_ID,
  "updatedRange": "Sheet1!A1:D5",
  "updatedRows": 5,
  "updatedColumns": 4,
  "updatedCells": 20,
}

Trang tính thu được sẽ có dạng như sau:

A B C D
1 Mục Chi phí Còn hàng Ngày giao hàng
2 Bánh xe $20,5 4 1/3/2016
3 Cửa ra vào $15 2 15/3/2016
4 Động cơ $100 1 Ngày 20 tháng 3 năm 2016
5 Tổng số $135,5 7 Ngày 20 tháng 3 năm 2016

Viết có chọn lọc vào một dải ô

Khi ghi giá trị vào một dải ô, có thể tránh được việc thay đổi một số giá trị hiện có ô bằng cách đặt các phần tử mảng tương ứng thành null. Cũng có thể để xóa một ô bằng cách viết một chuỗi trống ("") vào ô đó.

Bắt đầu bằng một trang tính có chứa cùng dữ liệu được tạo bởi như sau spreadsheets.values.update mã mẫu cho biết cách ghi các giá trị vào dải ô B1:D4, một cách chọn lọc giữ nguyên một số ô và xoá các ô khác. Chiến lược phát hành đĩa đơn Cụm từ tìm kiếm ValueInputOption là bắt buộc và xác định liệu giá trị đã ghi có được phân tích cú pháp hay không ví dụ: liệu một chuỗi có được chuyển đổi thành ngày tháng hay không).

Nội dung yêu cầu là ValueRange đối tượng mô tả các giá trị dải ô cần ghi. Chiến lược phát hành đĩa đơn Trường majorDimension cho biết các mảng là danh sách giá trị được sắp xếp theo cột.

Giao thức yêu cầu được trình bày dưới đây.

PUT https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/values/Sheet1!B1?valueInputOption=VALUE_INPUT_OPTION
{
  "range": "Sheet1!B1",
  "majorDimension": "COLUMNS",
  "values": [
    [null,"$1","$2", ""],
    [],
    [null,"4/1/2016", "4/15/2016", ""]
  ]
}

Trường values ở đây liệt kê các thay đổi được thực hiện cho từng cột trong dải ô. Chiến lược phát hành đĩa đơn mảng đầu tiên cho biết B1 sẽ không được thay đổi (do mảng null ), trong khi B4 sẽ bị xoá (chuỗi trống). B2 và B3 đều có giá trị riêng đã cập nhật. Mảng thứ ba thực hiện các phép toán tương tự trên cột D, trong khi mảng trống thứ hai cho biết cột C không được thay đổi.

Phản hồi bao gồm một UpdateValuesResponse chẳng hạn như đối tượng này:

{
  "spreadsheetId": SPREADSHEET_ID,
  "updatedRange": "Sheet1!B1:D5",
  "updatedRows": 3,
  "updatedColumns": 2,
  "updatedCells": 6,
}

Trang tính thu được sẽ có dạng như sau:

A B C D
1 Mục Chi phí Còn hàng Ngày giao hàng
2 Bánh xe 1 đô la 4 Ngày 1 tháng 4 năm 2016
3 Cửa ra vào 2 đô la 2 Ngày 15 tháng 4 năm 2016
4 Động cơ 1
5 Tổng số 3 đô la 7 Ngày 15 tháng 4 năm 2016

Lưu ý rằng cột "Tổng" hàng, mặc dù không được yêu cầu này thay đổi trực tiếp, vì các ô này chứa công thức phụ thuộc vào các ô bị thay đổi.

Ghi vào nhiều dải ô

Bắt đầu với một trang tính trống, spreadsheets.values.batchUpdate mã mẫu cho biết cách ghi các giá trị vào dải ô Sheet1!A1:A4 và Trang tính 1! B1:D2. Các giá trị hiện có trong dải ô mục tiêu sẽ bị ghi đè. Yêu cầu nội dung bao gồm một đối tượng ValueInputOption biểu thị cách diễn giải dữ liệu đầu vào và một mảng ValueRange các đối tượng tương ứng với từng dải ô được viết. Chiến lược phát hành đĩa đơn Trường majorDimension xác định xem các mảng được đưa vào có được diễn giải là mảng cột hay hàng hay không.

Giao thức yêu cầu được trình bày dưới đây.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/values:batchUpdate
{
  "valueInputOption": "VALUE_INPUT_OPTION",
  "data": [
    {
      "range": "Sheet1!A1:A4",
      "majorDimension": "COLUMNS",
      "values": [
        ["Item", "Wheel", "Door", "Engine"]
      ]
    },
    {
      "range": "Sheet1!B1:D2",
      "majorDimension": "ROWS",
      "values": [
        ["Cost", "Stocked", "Ship Date"],
        ["$20.50", "4", "3/1/2016"]
      ]
    }
  ]
}

Phản hồi bao gồm một đối tượng liệt kê số liệu thống kê đã cập nhật về ô và một mảng UpdateValuesResponse một đối tượng cho mỗi dải ô được cập nhật. Ví dụ:

{
  "spreadsheetId": SPREADSHEET_ID,
  "totalUpdatedRows": 4,
  "totalUpdatedColumns": 4,
  "totalUpdatedCells": 10,
  "totalUpdatedSheets": 1,
  "responses": [
    {
      "spreadsheetId": SPREADSHEET_ID,
      "updatedRange": "Sheet1!A1:A4",
      "updatedRows": 4,
      "updatedColumns": 1,
      "updatedCells": 4,
    },
    {
      "spreadsheetId": SPREADSHEET_ID,
      "updatedRange": "Sheet1!B1:D2",
      "updatedRows": 2,
      "updatedColumns": 3,
      "updatedCells": 6,
    }
  ],
}

Trang tính thu được sẽ có dạng như sau:

A B C D
1 Mục Chi phí Còn hàng Ngày giao hàng
2 Bánh xe $20,5 4 1/3/2016
3 Cửa ra vào
4 Động cơ
5

Ghi các giá trị mà không cần phân tích cú pháp

Bắt đầu với một trang tính trống, spreadsheets.values.update mã mẫu cho biết cách ghi các giá trị vào dải ô Sheet1!A1:E1, nhưng sử dụng RAW ValueInputOption để ngăn các chuỗi đã viết được phân tích cú pháp dưới dạng công thức, boolean hoặc số. Chúng xuất hiện dưới dạng chuỗi và việc căn chỉnh văn bản đều hợp lý trong trang tính.

Nội dung yêu cầu là ValueRange đối tượng mô tả các giá trị dải ô cần ghi. Chiến lược phát hành đĩa đơn Trường majorDimension cho biết các mảng là danh sách các giá trị được sắp xếp theo hàng. Giá trị hiện có trong phạm vi mục tiêu sẽ bị ghi đè.

Giao thức yêu cầu được trình bày dưới đây.

PUT https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/values/Sheet1!A1:E1?valueInputOption=RAW
{
  "range": "Sheet1!A1:E1",
  "majorDimension": "ROWS",
  "values": [
    ["Data", 123.45, true, "=MAX(D2:D4)", "10"]
  ],
}

Phản hồi bao gồm UpdateValuesResponse chẳng hạn như đối tượng này:

{
  "spreadsheetId": SPREADSHEET_ID,
  "updatedRange": "Sheet1!A1:E1",
  "updatedRows": 1,
  "updatedColumns": 5,
  "updatedCells": 5,
}

Trang tính thu được sẽ có dạng như sau:

A B C D E
1 Dữ liệu 123,45 TRUE =MAX(D2:D4) 10
2

Lưu ý là "TRUE" được căn giữa và là giá trị boolean, trong khi "123,45" đúng rồi căn đều vì đó là một số và "10" đều được căn trái vì đó là . Công thức không được phân tích cú pháp và cũng xuất hiện dưới dạng chuỗi.

Thêm giá trị

Bắt đầu với một trang tính như bảng dưới đây:

A B C D
1 Mục Chi phí Còn hàng Ngày giao hàng
2 Bánh xe $20,5 4 1/3/2016
3

Nội dung sau đây spreadsheets.values.append mã mẫu cho biết cách thêm hai hàng giá trị mới bắt đầu bằng hàng 3. Chiến lược phát hành đĩa đơn Cụm từ tìm kiếm ValueInputOption là bắt buộc và xác định liệu giá trị đã ghi có được phân tích cú pháp hay không ví dụ: liệu một chuỗi có được chuyển đổi thành ngày tháng hay không).

Nội dung yêu cầu là ValueRange đối tượng mô tả các giá trị dải ô cần ghi. Chiến lược phát hành đĩa đơn Trường majorDimension cho biết các mảng là danh sách các giá trị được sắp xếp theo hàng.

Giao thức yêu cầu được trình bày dưới đây.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/values/Sheet1!A1:E1:append?valueInputOption=VALUE_INPUT_OPTION
{
  "range": "Sheet1!A1:E1",
  "majorDimension": "ROWS",
  "values": [
    ["Door", "$15", "2", "3/15/2016"],
    ["Engine", "$100", "1", "3/20/2016"],
  ],
}

Phản hồi bao gồm AppendValuesResponse chẳng hạn như đối tượng này:

{
  "spreadsheetId": SPREADSHEET_ID,
  "tableRange": "Sheet1!A1:D2",
  "updates": {
    "spreadsheetId": SPREADSHEET_ID,
    "updatedRange": "Sheet1!A3:D4",
    "updatedRows": 2,
    "updatedColumns": 4,
    "updatedCells": 8,
  }
}

Trang tính thu được sẽ có dạng như sau:

A B C D
1 Mục Chi phí Còn hàng Ngày giao hàng
2 Bánh xe $20,5 4 1/3/2016
3 Cửa ra vào $15 2 15/3/2016
4 Động cơ $100 1 Ngày 20 tháng 3 năm 2016
5