פעולות של שורות ועמודות

באמצעות Google Sheets API אפשר להוסיף שורות ועמודות לגיליונות, להסיר אותם ולערוך אותם. בדוגמאות שבדף הזה מוסבר איך לבצע פעולות נפוצות על שורות ועל עמודות באמצעות Sheets API.

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

בדוגמאות האלה, ה-placeholders SPREADSHEET_ID ו-SHEET_ID מציינים איפה תציינו את המזהים האלה. המזהה של הגיליון האלקטרוני מופיע בכתובת ה-URL של הגיליון האלקטרוני. אפשר לקבל את מזהה הגיליון באמצעות ה-method‏ spreadsheets.get. טווחי הנתונים מצוינים באמצעות סימון A1. דוגמה לטווח היא Sheet1!A1:D5.

שינוי של רוחב העמודה או גובה השורה

בדוגמת הקוד הבאה של spreadsheets.batchUpdate מוסבר איך משתמשים ב-UpdateDimensionPropertiesRequest כדי לעדכן את מאפיין הרוחב של עמודה A ל-160 פיקסלים. בקשה שנייה מעדכנת את מאפיין גובה השורה של שלוש השורות הראשונות ל-40 פיקסלים. השדה dimension קובע אם הפעולה חלה על העמודות או השורות של הגיליון.

פרוטוקול הבקשה מוצג בהמשך.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "updateDimensionProperties": {
        "range": {
          "sheetId": SHEET_ID,
          "dimension": "COLUMNS",
          "startIndex": 0,
          "endIndex": 1
        },
        "properties": {
          "pixelSize": 160
        },
        "fields": "pixelSize"
      }
    },
    {
      "updateDimensionProperties": {
        "range": {
          "sheetId": SHEET_ID,
          "dimension": "ROWS",
          "startIndex": 0,
          "endIndex": 3
        },
        "properties": {
          "pixelSize": 40
        },
        "fields": "pixelSize"
      }
    }
  ]
}

הוספת שורות או עמודות ריקות

בדוגמת הקוד הבאה של spreadsheets.batchUpdate מוסבר איך להשתמש בפונקציה AppendDimensionRequest כדי לצרף שורות ועמודות. הבקשה הראשונה מצרפת שלוש שורות ריקות לסוף הגיליון, והבקשה השנייה מצרפת עמודה ריקה אחת. השדה dimension קובע אם הפעולה חלה על העמודות או על השורות של הגיליון.

פרוטוקול הבקשה מוצג למטה.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "appendDimension": {
        "sheetId": SHEET_ID,
        "dimension": "ROWS",
        "length": 3
      }
    },
    {
      "appendDimension": {
        "sheetId": SHEET_ID,
        "dimension": "COLUMNS",
        "length": 1
      }
    }
  ]
}

שינוי אוטומטי של גודל העמודה

בדוגמת הקוד הבאה של spreadsheets.batchUpdate מוסבר איך משתמשים ב-AutoResizeDimensionsRequest כדי לשנות את הגודל של העמודות A עד C, על סמך גודל התוכן בעמודות. השדה dimension מציין שהפעולה חלה על העמודות של הגיליון.

פרוטוקול הבקשה מוצג בהמשך.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "autoResizeDimensions": {
        "dimensions": {
          "sheetId": SHEET_ID,
          "dimension": "COLUMNS",
          "startIndex": 0,
          "endIndex": 3
        }
      }
    }
  ]
}

שינוי אוטומטי של גודל שורה

דוגמת הקוד הבאה של spreadsheets.batchUpdate מראה איך להשתמש ב-AutoResizeDimensionsRequest כדי לנקות את גובה השורות של שלוש השורות הראשונות. לאחר מכן, גובה השורות יגדל באופן דינמי על סמך התוכן של התאים בכל שורה. השדה dimension מציין שהפעולה חלה על השורות של הגיליון.

פרוטוקול הבקשה מוצג בהמשך.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "autoResizeDimensions": {
        "dimensions": {
          "sheetId": SHEET_ID,
          "dimension": "ROWS",
          "startIndex": 0,
          "endIndex": 3
        }
      }
    }
  ]
}

מחיקה של שורות או עמודות

דוגמת הקוד הבאה של spreadsheets.batchUpdate מראה איך להשתמש ב-DeleteDimensionRequest כדי למחוק את שלוש השורות הראשונות בגיליון. בקשה שנייה מוחקת את העמודות B עד D. השדה dimension קובע אם הפעולה חלה על העמודות או על השורות בגיליון.

פרוטוקול הבקשה מוצג בהמשך.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "deleteDimension": {
        "range": {
          "sheetId": SHEET_ID,
          "dimension": "ROWS",
          "startIndex": 0,
          "endIndex": 3
        }
      }
    },
    {
      "deleteDimension": {
        "range": {
          "sheetId": SHEET_ID,
          "dimension": "COLUMNS",
          "startIndex": 1,
          "endIndex": 4
        }
      }
    },
  ],
}

הוספת שורה או עמודה ריקה

בדוגמת הקוד הבאה של spreadsheets.batchUpdate מוסבר איך להשתמש ב-InsertDimensionRequest כדי להוסיף עמודות או שורות במדד מסוים (למשל, הוספת שורות ריקות בחלק העליון של הגיליון). הבקשה הראשונה מוסיפה שתי עמודות ריקות בעמודה C. בקשה שנייה מוסיפה שלוש שורות ריקות, החל משורה 1.

השדה dimension קובע אם הפעולה חלה על העמודות או על השורות של הגיליון.

אם הערך הוא true, השדה inheritFromBefore מורה ל-Sheets API להקצות לעמודות או לשורות החדשות את אותם מאפיינים כמו לשורה או לעמודה הקודמת. אם הערך הוא false, המערכת תירש מהמאפיינים של העמודות או השורות שמופיעות אחרי העמודות או השורות החדשות. הערך של inheritFromBefore לא יכול להיות true אם מוסיפים שורה בשורה 1 או עמודה בעמודה A.

פרוטוקול הבקשה מוצג בהמשך.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "insertDimension": {
        "range": {
          "sheetId": SHEET_ID,
          "dimension": "COLUMNS",
          "startIndex": 2,
          "endIndex": 4
        },
        "inheritFromBefore": true
      }
    },
    {
      "insertDimension": {
        "range": {
          "sheetId": SHEET_ID,
          "dimension": "ROWS",
          "startIndex": 0,
          "endIndex": 3
        },
        "inheritFromBefore": false
      }
    },
  ],
}

העברת שורה או עמודה

בדוגמת הקוד הבאה spreadsheets.batchUpdate מוסבר איך להשתמש בפונקציה MoveDimensionRequest כדי להעביר את עמודה A למיקום של עמודה D. בקשה שנייה מעבירה את שורות 5 עד 10 למיקום של שורה 20.

השדה dimension קובע אם הפעולה חלה על העמודות או על השורות בגיליון. השדה destinationIndex קובע לאן להעביר את נתוני המקור באמצעות אינדקס התחלה שמבוסס על אפס.

פרוטוקול הבקשה מוצג למטה.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "moveDimension": {
        "source": {
          "sheetId": SHEET_ID,
          "dimension": "COLUMNS",
          "startIndex": 0,
          "endIndex": 1
        },
        "destinationIndex": 3
      }
    },
    {
      "moveDimension": {
        "source": {
          "sheetId": SHEET_ID,
          "dimension": "ROWS",
          "startIndex": 4,
          "endIndex": 10
        },
        "destinationIndex": 19
      }
    },
  ],
}