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
}
},
...
],
}