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