תפעול נתונים

באמצעות 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"
          }
        ]
      }
    }
  ]
}