Google Sheets API מאפשר לשנות נתונים בתוך גיליונות אלקטרוניים בדרכים שונות דרכים שונות. רוב הפונקציונליות זמינה למשתמשים שעובדים עם אפשר להשתמש גם בממשק המשתמש של Sheets עם API של Sheets הדוגמאות בדף הזה ממחישות איך אפשר להשיג מספר פעולות נפוצות בגיליון אלקטרוני באמצעות ה-API של Sheets.
הדוגמאות האלה מוצגות בצורה של בקשות HTTP ניטרלי. כדי ללמוד איך להטמיע עדכון בכמות גדולה בשפות שונות באמצעות על ספריות הלקוח של Google API, ראו עדכון גיליונות אלקטרוניים.
בדוגמאות האלה, ערכי ה-placeholders SPREADSHEET_ID
ו-SHEET_ID
מציין איפה תציינו את המזהים האלה. הגיליון האלקטרוני נמצא
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
באותו גיליון. השיטה משתמשת
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"
}
]
}
}
]
}