Google Sheets API ช่วยให้คุณสามารถจัดการข้อมูลภายในสเปรดชีตใน ได้ ฟังก์ชันส่วนใหญ่ที่พร้อมใช้งานสำหรับผู้ใช้ที่ใช้งาน UI ของชีตยังสามารถดำเนินการกับ Sheets API ตัวอย่างในหน้านี้จะแสดงให้เห็นวิธีประสบความสำเร็จ การทำงานทั่วไปของสเปรดชีตกับ Sheets API
ตัวอย่างเหล่านี้จะแสดงในรูปแบบคำขอ HTTP เป็นภาษา เป็นกลาง หากต้องการทราบวิธีใช้การอัปเดตเป็นกลุ่มในภาษาต่างๆ โดยใช้ ไลบรารีของไคลเอ็นต์ Google API โปรดดูการอัปเดต สเปรดชีต
ในตัวอย่างต่อไปนี้ ตัวยึดตำแหน่ง SPREADSHEET_ID
และ SHEET_ID
จะระบุตำแหน่งที่คุณระบุรหัสเหล่านั้น คุณจะพบสเปรดชีต
รหัสใน URL ของสเปรดชีต คุณสามารถ
รหัสชีตโดยใช้เมธอด
spreadsheets.get
มีการระบุช่วงโดยใช้รูปแบบ A1 CANNOT TRANSLATE
ช่วงตัวอย่างคือ Sheet1!A1:D5
ใช้การตรวจสอบข้อมูลกับช่วง
ดังต่อไปนี้
spreadsheets.batchUpdate
ตัวอย่างโค้ดจะแสดงวิธีใช้
SetDataValidationRequest
เพื่อใช้กฎการตรวจสอบข้อมูล โดยที่ "ค่า > 5" ให้กับทุกเซลล์ในช่วง A1:D10
โปรโตคอลคำขอแสดงอยู่ด้านล่างนี้
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{
"requests": [
{
"setDataValidation": {
"range": {
"sheetId": SHEET_ID
,
"startRowIndex": 0,
"endRowIndex": 10,
"startColumnIndex": 0,
"endColumnIndex": 4
},
"rule": {
"condition": {
"type": "NUMBER_GREATER",
"values": [
{
"userEnteredValue": "5"
}
]
},
"inputMessage": "Value must be > 5",
"strict": true
}
}
}
]
}
คัดลอกและ วางการจัดรูปแบบเซลล์
ดังต่อไปนี้
spreadsheets.batchUpdate
ตัวอย่างโค้ดจะแสดงวิธีใช้
CopyPasteRequest
เพื่อคัดลอกการจัดรูปแบบเฉพาะในช่วง A1:D10 และวางลงในช่วง F1:I10
ไว้ในชีตเดียวกัน เมธอดจะใช้เมธอด
PasteType
enum
ด้วย PASTE_FORMAT
เพื่อวางเฉพาะการจัดรูปแบบและการตรวจสอบข้อมูลเท่านั้น
ค่าเดิมใน A1:D10 จะไม่เปลี่ยนแปลง
โปรโตคอลคำขอแสดงอยู่ด้านล่างนี้
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{ "requests": [ { "copyPaste": { "source": { "sheetId":SHEET_ID
, "startRowIndex": 0, "endRowIndex": 10, "startColumnIndex": 0, "endColumnIndex": 4 }, "destination": { "sheetId":SHEET_ID
, "startRowIndex": 0, "endRowIndex": 10, "startColumnIndex": 5, "endColumnIndex": 9 }, "pasteType": "PASTE_FORMAT", "pasteOrientation": "NORMAL" } } ] }
ตัดและ วางเซลล์
ดังต่อไปนี้
spreadsheets.batchUpdate
ตัวอย่างโค้ดจะแสดงวิธีใช้
CutPasteRequest
โดยจะตัดช่วง A1:D10 และใช้
PasteType
enum
ด้วย PASTE_NORMAL
เพื่อวางค่า สูตร การจัดรูปแบบ และผสานลงในฟังก์ชัน
F1:I10 ในชีตเดียวกัน เนื้อหาของเซลล์ช่วงต้นฉบับเดิมคือ
ลบแล้ว
โปรโตคอลคำขอแสดงอยู่ด้านล่างนี้
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{ "requests": [ { "cutPaste": { "source": { "sheetId":SHEET_ID
, "startRowIndex": 0, "endRowIndex": 10, "startColumnIndex": 0, "endColumnIndex": 4 }, "destination": { "sheetId":SHEET_ID
, "rowIndex": 0, "columnIndex": 5 }, "pasteType": "PASTE_NORMAL" } } ] }
ทำซ้ำสูตรในช่วง
ดังต่อไปนี้
spreadsheets.batchUpdate
ตัวอย่างโค้ดจะแสดงวิธีใช้
RepeatCellRequest
เพื่อคัดลอกสูตร =FLOOR(A1*PI())
ไปยังช่วง B1:D10 ช่วงของสูตร
สำหรับแต่ละแถวและคอลัมน์ในช่วงโดยอัตโนมัติ โดยเริ่มจาก
เซลล์ซ้ายบน เช่น เซลล์ B1 มีสูตร =FLOOR(A1*PI())
ขณะที่
เซลล์ D6 มีสูตร =FLOOR(C6*PI())
โปรโตคอลคำขอแสดงอยู่ด้านล่างนี้
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{
"requests": [
{
"repeatCell": {
"range": {
"sheetId": SHEET_ID
,
"startRowIndex": 0,
"endRowIndex": 10,
"startColumnIndex": 1,
"endColumnIndex": 4
},
"cell": {
"userEnteredValue": {
"formulaValue": "=FLOOR(A1*PI())"
}
},
"fields": "userEnteredValue"
}
}
]
}
จัดเรียงช่วงด้วยข้อกำหนดการจัดเรียงหลายรายการ
ดังต่อไปนี้
spreadsheets.batchUpdate
ตัวอย่างโค้ดจะแสดงวิธีใช้
SortRangeRequest
เพื่อจัดเรียงช่วง A1:D10 โดยเริ่มจากคอลัมน์ B ในลำดับจากน้อยไปมาก ตามด้วยคอลัมน์ C
ตามลำดับจากมากไปน้อย และตามคอลัมน์ D ในลำดับจากมากไปน้อย
โปรโตคอลคำขอแสดงอยู่ด้านล่างนี้
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{
"requests": [
{
"sortRange": {
"range": {
"sheetId": SHEET_ID
,
"startRowIndex": 0,
"endRowIndex": 10,
"startColumnIndex": 0,
"endColumnIndex": 4
},
"sortSpecs": [
{
"dimensionIndex": 1,
"sortOrder": "ASCENDING"
},
{
"dimensionIndex": 2,
"sortOrder": "DESCENDING"
},
{
"dimensionIndex": 3,
"sortOrder": "DESCENDING"
}
]
}
}
]
}