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

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