Google ชีต API ช่วยให้คุณสร้าง ล้าง คัดลอก และลบชีต รวมถึงควบคุมพร็อพเพอร์ตี้ของชีตได้ด้วย ตัวอย่างในหน้านี้แสดงวิธี ดำเนินการชีตทั่วไปบางอย่างด้วย ชีต API
ตัวอย่างเหล่านี้จะแสดงในรูปแบบคำขอ HTTP เพื่อให้เป็นกลางทางภาษา ดูวิธีใช้การอัปเดตแบบเป็นกลุ่มในภาษาต่างๆ โดยใช้ไลบรารีของไคลเอ็นต์ Google API ได้ที่อัปเดต สเปรดชีต
ในตัวอย่างเหล่านี้ ตัวยึดตำแหน่ง SPREADSHEET_ID และ SHEET_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 จะนำ
การจัดรูปแบบทั้งหมดที่ 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
จากสเปรดชีตที่ระบุโดย 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
        }
      },
      ...
  ],
}