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

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

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

בדוגמאות האלה, התוויות 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
      }
    },
  ],
}