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

تتيح لك واجهة برمجة تطبيقات "العروض التقديمية من Google" إنشاء جداول على الصفحات وتعديلها. تعرض الأمثلة في هذه الصفحة بعض عمليات الجدول الشائعة باستخدام طريقة 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
      }
    }
  ]
}