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