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