באמצעות Google Sheets API אפשר לשנות את הנתונים בתוך גיליונות אלקטרוניים בדרכים שונות. רוב הפונקציונליות שזמינה למשתמשים שעובדים עם ממשק המשתמש של Sheets היא גם באמצעות ה-API של Sheets. הדוגמאות בדף הזה ממחישות איך אפשר לבצע כמה פעולות נפוצות בגיליון אלקטרוני באמצעות Sheets API.
הדוגמאות האלה מוצגות בצורת בקשות HTTP כשהשפה היא ניטרלית. במאמר עדכון גיליונות אלקטרוניים מוסבר איך מטמיעים עדכון בכמות גדולה בשפות שונות באמצעות ספריות הלקוח של Google API.
בדוגמאות האלה, ה-placeholders SPREADSHEET_ID
ו-SHEET_ID
מציינים איפה תציינו את המזהים האלה. המזהה של הגיליון האלקטרוני מופיע בכתובת ה-URL של הגיליון האלקטרוני. כדי לאתר את מזהה הגיליון אפשר להשתמש בשיטה spreadsheets.get
. הטווחים מוגדרים באמצעות סימון A1. טווח לדוגמה הוא Sheet1!A1:D5.
החלת אימות נתונים על טווח
דוגמת הקוד הבאה של spreadsheets.batchUpdate
מראה איך להשתמש ב-SetDataValidationRequest
כדי להחיל כלל לאימות נתונים (value > 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"
}
]
}
}
]
}