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

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

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

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

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

إنشاء جدول

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

يحتوي هذا الجدول على ثمانية صفوف وخمسة أعمدة. يُرجى العِلم أنّ واجهة برمجة التطبيقات Slides API تتجاهل أي حقل 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 لاستبدالها بالنص الجديد "كنغر".

يتم تحديد الجدول من خلال 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 لضبط تنسيق النص في إحدى خلايا صف العنوان على خط Cambria باللون الأبيض وبحجم 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
      }
    }
  ]
}