תפעול טבלאות

בעזרת Google Slides API אפשר ליצור ולערוך טבלאות בדפים. בדוגמאות שבדף הזה מוצגות כמה פעולות נפוצות בטבלה באמצעות השיטה presentations.batchUpdate.

בדוגמאות האלה נעשה שימוש במשתנים הבאים:

  • PRESENTATION_ID—מציין איפה מספקים את מזהה המצגת. אפשר למצוא את הערך של המזהה הזה בכתובת ה-URL של המצגת.
  • PAGE_ID – מציין איפה צריך לספק את מזהי אובייקט הדף. אפשר לאחזר את הערך של המאפיין הזה מכתובת ה-URL או באמצעות בקשת קריאה של API.
  • TABLE_ID – מציין את המקום שבו צריך להזין את מזהה האובייקט של רכיב הדף של טבלה שאתם עובדים איתה. אפשר לציין את המזהה הזה לרכיבים שיוצרים (עם הגבלות מסוימות) או לאפשר ל-Slides API ליצור אותו באופן אוטומטי. אפשר לאחזר מזהי רכיבים באמצעות בקשת קריאה של API.

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

צור טבלה

בדוגמת הקוד הבאה presentations.batchUpdate אפשר לראות איך משתמשים בשיטה CreateTableRequest כדי להוסיף טבלה לשקף שצוין על ידי PAGE_ID.

בטבלה הזו יש שמונה שורות וחמש עמודות. שימו לב: Slides API מתעלם מכל השדות size או transform שמופיעים כחלק מelementProperties. במקום זאת, ה-API יוצר טבלה שממוקמת בערך במרכז השקף, והגודל שלה מותאם למספר השורות והעמודות שצוין, אם אפשר.

הפרוטוקול של הבקשה ליצירת טבלה:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "createTable": {
        "objectId": TABLE_ID,
        "elementProperties": {
          "pageObjectId": PAGE_ID,
        },
        "rows": 8,
        "columns": 5
      }
    }
  ]
}

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

בדוגמת הקוד הבאה presentations.batchUpdate מוצג אופן השימוש בשיטה DeleteTableRowRequest כדי להסיר את השורה השישית. לאחר מכן, הוא משתמש בשיטה DeleteTableColumnRequest כדי להסיר את העמודה הרביעית. הטבלה מצוינת על ידי התג TABLE_ID. הן rowIndex והן columnIndex בתוך cellLocation מבוססות על אפס.

הפרוטוקול הבא הוא פרוטוקול הבקשה למחיקת שורות או עמודות בטבלה:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "deleteTableRow": {
        "tableObjectId": TABLE_ID,
        "cellLocation": {
          "rowIndex": 5
        }
      }
    },
    {
      "deleteTableColumn": {
        "tableObjectId": TABLE_ID,
        "cellLocation": {
          "columnIndex": 3
        }
      }
    }
  ]
}

עריכת נתוני הטבלה

בדוגמת הקוד הבאה presentations.batchUpdate אפשר לראות איך משתמשים בשיטה DeleteTextRequest כדי להסיר את כל הטקסט בתא בתוך textRange. לאחר מכן, המערכת משתמשת בשיטה InsertTextRequest כדי להחליף את הטקסט בטקסט החדש 'Kangaroo'.

הטבלה מצוינת על ידי TABLE_ID. התא המושפע נמצא בשורה החמישית ובעמודה השלישית. הערכים של rowIndex ושל columnIndex בתוך cellLocation מבוססים על אפס.

הפרוטוקול לבקשה לעריכת נתונים בטבלה:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "deleteText": {
        "objectId": TABLE_ID,
        "cellLocation": {
          "rowIndex": 4,
          "columnIndex": 2
        },
        "textRange": {
          "type": "ALL",
        }
      }
    },
    {
      "insertText": {
        "objectId": TABLE_ID,
        "cellLocation": {
          "rowIndex": 4,
          "columnIndex": 2
        },
        "text": "Kangaroo",
        "insertionIndex": 0
      }
    }
  ]
}

עיצוב שורת כותרת בטבלה

בדוגמת הקוד הבאה presentations.batchUpdate אפשר לראות איך משתמשים בשיטה UpdateTableCellPropertiesRequest כדי לעצב את שורת הכותרת של אלמנט טבלה, בתוך tableRange, שצוין על ידי TABLE_ID. לאחר מכן, היא משתמשת בשיטה TableCellProperties כדי להגדיר את צבע הרקע של שורת הכותרת לשחור.

כל בקשה הבאה משתמשת בשיטה UpdateTextStyleRequest כדי להגדיר את פורמט הטקסט בתא אחד בשורת הכותרת כטקסט מודגש, לבן, בגודל 18, בפונט Cambria בתוך textRange. לאחר מכן, צריך לחזור על הבקשה הזו לכל תא נוסף בכותרת.

הן rowIndex והן columnIndex בתוך location וcellLocation מבוססות על אפס.

הפרוטוקול הבא הוא פרוטוקול הבקשה לעיצוב שורת כותרת של טבלה:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "updateTableCellProperties": {
        "objectId": TABLE_ID,
        "tableRange": {
          "location": {
            "rowIndex": 0,
            "columnIndex": 0
          },
          "rowSpan": 1,
          "columnSpan": 3
        },
        "tableCellProperties": {
          "tableCellBackgroundFill": {
            "solidFill": {
              "color": {
                "rgbColor": {
                  "red": 0.0,
                  "green": 0.0,
                  "blue": 0.0
                }
              }
            }
          }
        },
        "fields": "tableCellBackgroundFill.solidFill.color"
      }
    },
    {
      "updateTextStyle": {
        "objectId": TABLE_ID,
        "cellLocation": {
          "rowIndex": 0,
          "columnIndex": 0
        },
        "style": {
          "foregroundColor": {
            "opaqueColor": {
              "rgbColor": {
                "red": 1.0,
                "green": 1.0,
                "blue": 1.0
              }
            }
          },
          "bold": true,
          "fontFamily": "Cambria",
          "fontSize": {
            "magnitude": 18,
            "unit": "PT"
          }
        },
        "textRange": {
          "type": "ALL"
        },
        "fields": "foregroundColor,bold,fontFamily,fontSize"
      }
    },
    // Repeat the above request for each additional cell in the header row....
  ]
}

כך נראית שורת הכותרת המעוצבת אחרי העדכונים האלה:

עיצוב של תוצאת מתכון בשורת הכותרת.

הוספת שורות או עמודות לטבלה

בדוגמת הקוד הבאה presentations.batchUpdate אפשר לראות איך משתמשים בשיטה InsertTableRowsRequest כדי להוסיף שלוש שורות מתחת לשורה השישית. לאחר מכן, הוא משתמש בשיטה InsertTableColumnsRequest כדי להוסיף שתי עמודות משמאל לעמודה הרביעית באותה טבלה.

הטבלה מצוינת על ידי TABLE_ID. הערכים של rowIndex ו-columnIndex בתוך cellLocation מבוססים על אפס.

הפרוטוקול הבא הוא פרוטוקול הבקשה להוספת שורות או עמודות לטבלה:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "insertTableRows": {
        "tableObjectId": TABLE_ID,
        "cellLocation": {
          "rowIndex": 5
        },
        "insertBelow": true,
        "number": 3
      }
    },
    {
      "insertTableColumns": {
        "tableObjectId": TABLE_ID,
        "cellLocation": {
          "columnIndex": 3
        },
        "insertRight": false,
        "number": 2
      }
    }
  ]
}