การดําเนินการของชีต

Google Sheets API ช่วยให้คุณสร้าง ล้าง คัดลอก และลบชีต รวมถึงควบคุมพร็อพเพอร์ตี้ของชีตได้ด้วย ตัวอย่างในหน้านี้แสดงวิธีดำเนินการบางอย่างที่ใช้กันทั่วไปใน Sheets ด้วย Sheets API

ตัวอย่างเหล่านี้แสดงในรูปแบบคำขอ HTTP เพื่อให้เป็นกลางทางภาษา หากต้องการดูวิธีใช้การอัปเดตแบบกลุ่มในภาษาต่างๆ โดยใช้ ไลบรารีของไคลเอ็นต์ Google API โปรดดูอัปเดต สเปรดชีต

ในตัวอย่างเหล่านี้ ตัวยึดตำแหน่ง SPREADSHEET_ID และ SHEET_ID จะระบุตำแหน่งที่คุณจะระบุรหัสเหล่านั้น คุณจะพบรหัสของสเปรดชีต IDใน URL ของสเปรดชีต คุณสามารถรับ รหัสของชีตได้โดยใช้เมธอด spreadsheets.get ระบบจะระบุช่วงโดยใช้สัญกรณ์ A1 ตัวอย่างช่วงคือ Sheet1!A1:D5

เพิ่มชีต

ตัวอย่างโค้ด spreadsheets.batchUpdate ต่อไปนี้แสดงวิธีใช้ AddSheetRequest เพื่อเพิ่มชีตลงในสเปรดชีต พร้อมทั้งตั้งค่าชื่อ ขนาดตาราง และสีแท็บ

การตอบกลับประกอบด้วย AddSheetResponse, ซึ่งมีออบเจ็กต์ที่มีพร็อพเพอร์ตี้ของชีตที่สร้างขึ้น (เช่น SHEET_ID)

โปรโตคอลคำขอแสดงไว้ด้านล่าง

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "addSheet": {
        "properties": {
          "title": "Deposits",
          "gridProperties": {
            "rowCount": 20,
            "columnCount": 12
          },
          "tabColor": {
            "red": 1.0,
            "green": 0.3,
            "blue": 0.4
          }
        }
      }
    }
  ]
}

ล้างค่าทั้งหมดในชีตโดยคงรูปแบบไว้

ตัวอย่างโค้ด spreadsheets.batchUpdate ต่อไปนี้แสดงวิธีใช้ UpdateCellsRequest เพื่อนำค่าทั้งหมดออกจากชีตโดยคงการจัดรูปแบบไว้

การระบุฟิลด์ userEnteredValueโดยไม่มีค่าที่สอดคล้องกันจะตีความได้ว่าเป็นการสั่งให้ล้างค่า ในช่วง คุณสามารถใช้การตั้งค่านี้กับฟิลด์อื่นๆ ได้ด้วย ตัวอย่างเช่น การเปลี่ยนค่า fields เป็น userEnteredFormat จะนำ การจัดรูปแบบทั้งหมดที่ Sheets API รองรับ ออกจากชีต แต่จะคงค่าในเซลล์ไว้

โปรโตคอลคำขอแสดงไว้ด้านล่าง

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "updateCells": {
        "range": {
          "sheetId": SHEET_ID
        },
        "fields": "userEnteredValue"
      }
    }
  ]
}

คัดลอกชีตจากสเปรดชีตหนึ่งไปยังอีกสเปรดชีตหนึ่ง

ตัวอย่างโค้ด spreadsheet.sheets.copyTo ต่อไปนี้แสดงวิธีคัดลอกชีตเดียวที่ระบุโดย SHEET_ID จากสเปรดชีตหนึ่งไปยังอีกสเปรดชีตหนึ่ง

ตัวแปร TARGET_SPREADSHEET_ID ในเนื้อหาคำขอจะระบุสเปรดชีตปลายทาง สำเนาจะเก็บค่า การจัดรูปแบบ สูตร และพร็อพเพอร์ตี้อื่นๆ ทั้งหมดของต้นฉบับไว้ ระบบจะตั้งค่าชื่อของชีตที่คัดลอกเป็น "สำเนาของ [ชื่อชีตเดิม]"

การตอบกลับประกอบด้วยออบเจ็กต์ SheetProperties ที่อธิบายพร็อพเพอร์ตี้ของชีตที่สร้างขึ้น

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/sheets/SHEET_ID:copyTo
{
  "destinationSpreadsheetId": "TARGET_SPREADSHEET_ID"
}

ลบชีต

ตัวอย่างโค้ด spreadsheets.batchUpdate ต่อไปนี้แสดงวิธีใช้ DeleteSheetRequest เพื่อลบชีตที่ระบุโดย SHEET_ID

โปรโตคอลคำขอแสดงไว้ด้านล่าง

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "deleteSheet": {
        "sheetId": SHEET_ID
      }
    }
  ]
}

อ่านข้อมูลชีต

ตัวอย่างโค้ด ต่อไปนี้ spreadsheets.getแสดงวิธีรับข้อมูลพร็อพเพอร์ตี้ของ ชีตจากสเปรดชีตที่ระบุโดย SHEET_ID และ SPREADSHEET_ID. โดยมักจะใช้เมธอดนี้เพื่อกำหนดข้อมูลเมตาของชีตภายในสเปรดชีตที่เฉพาะเจาะจง เพื่อให้การดำเนินการเพิ่มเติมสามารถกำหนดเป้าหมายเป็นชีตเหล่านั้นได้ พารามิเตอร์การค้นหา fields จะระบุว่าควรแสดงผลเฉพาะข้อมูลพร็อพเพอร์ตี้ของชีต (แทนที่จะเป็นข้อมูลค่าในเซลล์หรือข้อมูลที่เกี่ยวข้องกับสเปรดชีตทั้งหมด)

GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID?&fields=sheets.properties

การตอบกลับประกอบด้วยทรัพยกร Spreadsheet ซึ่งมีออบเจ็กต์ Sheetที่มีองค์ประกอบ SheetProperties หากตั้งค่าฟิลด์การตอบกลับที่กำหนดเป็นค่าเริ่มต้น ระบบจะละเว้นฟิลด์ดังกล่าวจากการตอบกลับ

{
  "sheets": [
    {
      "properties": {
        "sheetId": SHEET_ID,
        "title": "Sheet1",
        "index": 0,
        "sheetType": "GRID",
        "gridProperties": {
          "rowCount": 100,
          "columnCount": 20,
          "frozenRowCount": 1
        }
        "tabColor": {
          "blue": 1.0
        }
      },
      ...
  ],
}