عمليات الجدول

تتيح لك Google Slides API إنشاء الجداول وتعديلها على الصفحات. تعرض الأمثلة في هذه الصفحة بعض عمليات الجدول الشائعة باستخدام الطريقة presentations.batchUpdate.

تستخدم هذه الأمثلة المتغيرات التالية:

  • PRESENTATION_ID: يشير إلى مكان تقديم رقم تعريف العرض التقديمي. يمكنك اكتشاف قيمة رقم التعريف هذا من عنوان URL للعرض التقديمي.
  • PAGE_ID: يشير إلى مكان تقديم أرقام تعريف عناصر الصفحة. يمكنك استرداد قيمة هذه القيمة من عنوان URL أو باستخدام طلب قراءة من واجهة برمجة التطبيقات.
  • TABLE_ID: يشير إلى مكان تقديم رقم تعريف عنصر الصفحة لجدول تعمل معه. يمكنك تحديد هذا المعرّف للعناصر التي تنشئها (مع بعض القيود) أو السماح لواجهة Slides API بإنشاء أحدها تلقائيًا. يمكن استرداد معرفات العناصر من خلال طلب قراءة واجهة برمجة التطبيقات.

ويتم تقديم هذه الأمثلة في صورة طلبات HTTP لتكون محايدة اللغة. لمعرفة كيفية تنفيذ تحديث مجمّع بلغات مختلفة باستخدام مكتبات عملاء Google API، راجع إضافة أشكال ونصوص.

إنشاء جدول

يوضّح نموذج الرمز البرمجي presentations.batchUpdate التالي كيفية استخدام طريقة CreateTableRequest لإضافة جدول إلى شريحة تحدّدها السمة PAGE_ID.

يتكون هذا الجدول من ثمانية صفوف وخمسة أعمدة. يُرجى العِلم أنّ واجهة برمجة تطبيقات "العروض التقديمية من Google" تتجاهل أي حقول size أو transform يتم توفيرها كجزء من elementProperties. بدلاً من ذلك، تنشئ واجهة برمجة التطبيقات جدولاً يتمركز تقريبًا على الشريحة وبحجم ليلائم العدد المحدد من الصفوف والأعمدة، إن أمكن.

فيما يلي بروتوكول الطلب لإنشاء جدول:

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 نقطة في 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
      }
    }
  ]
}