תפעול נתונים

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"
          }
        ]
      }
    }
  ]
}