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