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

تتيح لك 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
      }
    }
  ]
}