Google Sheets API ช่วยให้คุณจัดการข้อมูลภายในสเปรดชีตได้หลายวิธี ฟังก์ชันการทำงานส่วนใหญ่ที่ผู้ใช้สามารถใช้ได้ใน UI ของ Sheets ก็สามารถทำได้ด้วย Sheets API ตัวอย่างในหน้านี้แสดงวิธีใช้ Sheets API เพื่อดำเนินการบางอย่างที่มักใช้กับสเปรดชีต
ตัวอย่างเหล่านี้แสดงในรูปแบบคำขอ HTTP เพื่อให้เป็นกลางทางภาษา ดูวิธีใช้การอัปเดตเป็นกลุ่มในภาษาต่างๆ โดยใช้ไลบรารีของไคลเอ็นต์ Google API ได้ที่อัปเดตสเปรดชีต
ในตัวอย่างเหล่านี้ ตัวยึดตำแหน่ง SPREADSHEET_ID และ SHEET_ID
จะระบุตำแหน่งที่คุณจะระบุรหัสเหล่านั้น คุณจะพบรหัสของสเปรดชีต
IDใน URL ของสเปรดชีต คุณสามารถรับ
รหัสชีตได้โดยใช้วิธี
spreadsheets.get ช่วง
จะระบุโดยใช้ สัญกรณ์ A1 ตัวอย่างช่วงคือ Sheet1!A1:D5
ใช้การตรวจสอบข้อมูลกับช่วง
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีใช้เพื่อใช้กฎการตรวจสอบข้อมูลที่ "value > 5" กับทุกเซลล์ในช่วง A1:D10spreadsheets.batchUpdateSetDataValidationRequest
โปรโตคอลคำขอแสดงไว้ด้านล่าง
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"
}
}
]
}ตัดและวางเซลล์
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีใช้
CutPasteRequestspreadsheets.batchUpdate
โดยจะตัดช่วง 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"
}
}
]
}จัดเรียงช่วงด้วยข้อกำหนดการจัดเรียงหลายรายการ
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีใช้เพื่อจัดเรียงช่วง A1:D10 โดยจัดเรียงตามคอลัมน์ B จากน้อยไปมากก่อน จากนั้นจัดเรียงตามคอลัมน์ C จากมากไปน้อย แล้วจัดเรียงตามคอลัมน์ D จากมากไปน้อยspreadsheets.batchUpdateSortRangeRequest
โปรโตคอลคำขอแสดงไว้ด้านล่าง
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"
}
]
}
}
]
}