תפעול טבלאות

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

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

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

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

צור טבלה

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

הטבלה הזו מכילה שמונה שורות וחמש עמודות. שימו לב: ה-API של Slides מתעלם משדות 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 מראה איך להשתמש ב-method DeleteTableRowRequest כדי להסיר את השורה השישית. לאחר מכן היא משתמשת ב-method 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 ממחישה איך משתמשים ב-method 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
      }
    }
  ]
}

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

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

בכל בקשה שבהמשך נעשה שימוש ב-method UpdateTextStyleRequest כדי להגדיר את עיצוב הטקסט בתא אחד של שורת הכותרת כך שגודל הגופן של קמבריה יהיה לבן 18 נקודות ומודגש בתוך 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 להוספת שלוש שורות מתחת לשורה השישית. לאחר מכן נעשה שימוש ב-method 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
      }
    }
  ]
}