תפעול נתונים

Google Sheets API מאפשר לשנות נתונים בתוך גיליונות אלקטרוניים בדרכים שונות. את רוב הפונקציונליות הזמינה למשתמשים שעובדים עם ממשק המשתמש של Sheets אפשר לבצע גם באמצעות ה-API של Sheets. הדוגמאות בדף הזה ממחישות איך אפשר לבצע כמה פעולות נפוצות בגיליון אלקטרוני באמצעות Sheets API.

הדוגמאות האלה מוצגות בפורמט של בקשות HTTP ניטרליות מבחינת שפה. על מנת ללמוד כיצד ליישם עדכון ברצף בשפות שונות באמצעות ספריות הלקוח של Google API, קראו את המאמר עדכון גיליונות אלקטרוניים.

בדוגמאות האלה, ערכי ה-placeholder 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 באותו הגיליון. השיטה משתמשת במספר 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"
          }
        ]
      }
    }
  ]
}