תפעול טבלאות

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

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

  • PRESENTATION_ID – מציין איפה מספקים את מזהה המצגת. אפשר לגלות את הערך של המזהה הזה בכתובת ה-URL של המצגת.
  • PAGE_ID – מציין איפה מספקים את המזהים של האובייקטים של הדף. אפשר לאחזר את הערך הזה מכתובת ה-URL או באמצעות בקשת קריאה ל-API.
  • TABLE_ID – מציין איפה מספקים את מזהה האובייקט של רכיב הדף בטבלה שאיתה עובדים. תוכלו לציין את המזהה הזה לרכיבים שאתם יוצרים (עם הגבלות מסוימות) או לאפשר ל-Slides API ליצור אותו באופן אוטומטי. אפשר לאחזר את מזהי הרכיבים באמצעות בקשת קריאה ל-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. לאחר מכן היא משתמשת ב-method 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 מראה איך להשתמש ב-method UpdateTableCellPropertiesRequest כדי לעצב את שורת הכותרת של רכיב בטבלה, בתוך tableRange, שצוין על ידי TABLE_ID. לאחר מכן היא משתמשת בשיטה 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 מראה איך להשתמש ב-method 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
      }
    }
  ]
}