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

‫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
      }
    },
  ],
}