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

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

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

בדוגמאות האלה, ה-placeholders SPREADSHEET_ID ו-SHEET_ID מציינים איפה תציינו את המזהים האלה. המזהה של הגיליון האלקטרוני מופיע בכתובת ה-URL של הגיליון האלקטרוני. כדי לאתר את מזהה הגיליון אפשר להשתמש בשיטה 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
      }
    },
  ],
}