عملیات جدول

رابط برنامه‌نویسی کاربردی (API) اسلایدهای گوگل به شما امکان می‌دهد جداول را در صفحات ایجاد و ویرایش کنید. مثال‌های این صفحه برخی از عملیات رایج روی جداول را با استفاده از متد presentations.batchUpdate نشان می‌دهند.

این مثال‌ها از متغیرهای زیر استفاده می‌کنند:

  • PRESENTATION_ID — نشان می‌دهد که شناسه ارائه را کجا ارائه می‌دهید. می‌توانید مقدار این شناسه را از URL ارائه پیدا کنید.
  • PAGE_ID — نشان می‌دهد که شناسه‌های شیء صفحه را کجا ارائه می‌دهید. می‌توانید مقدار این شناسه را از URL یا با استفاده از درخواست خواندن API بازیابی کنید.
  • TABLE_ID — نشان می‌دهد که شناسه شیء عنصر صفحه را برای جدولی که با آن کار می‌کنید، کجا ارائه می‌دهید. می‌توانید این شناسه را برای عناصری که ایجاد می‌کنید (با برخی محدودیت‌ها ) مشخص کنید یا به API اسلایدها اجازه دهید که به طور خودکار یکی ایجاد کند. شناسه‌های عنصر را می‌توان از طریق درخواست خواندن API بازیابی کرد.

این مثال‌ها به عنوان درخواست‌های HTTP ارائه شده‌اند تا از نظر زبانی بی‌طرف باشند. برای یادگیری نحوه پیاده‌سازی به‌روزرسانی دسته‌ای در زبان‌های مختلف با استفاده از کتابخانه‌های کلاینت API گوگل، به بخش افزودن شکل‌ها و متن مراجعه کنید.

ایجاد یک جدول

نمونه کد presentations.batchUpdate زیر نحوه استفاده از متد CreateTableRequest را برای افزودن جدول به اسلایدی که توسط PAGE_ID مشخص شده است، نشان می‌دهد.

این جدول هشت ردیف و پنج ستون دارد. توجه داشته باشید که API اسلایدها، هر فیلد size یا transform ارائه شده به عنوان بخشی از elementProperties را نادیده می‌گیرد. در عوض، API جدولی ایجاد می‌کند که تقریباً در مرکز اسلاید قرار دارد و در صورت امکان، اندازه آن به گونه‌ای است که تعداد ردیف‌ها و ستون‌های مشخص شده را در خود جای دهد.

پروتکل درخواست برای ایجاد جدول به صورت زیر است:

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 از نوع zero-based هستند.

پروتکل درخواست برای حذف ردیف‌ها یا ستون‌های جدول به صورت زیر است:

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 pt و ضخامت ضخیم در محدوده textRange استفاده می‌کند. سپس باید این درخواست را برای هر سلول اضافی در هدر تکرار کنید.

هر دو rowIndex و columnIndex درون location و cellLocation از نوع zero-based هستند.

پروتکل درخواست برای قالب‌بندی سطر سربرگ جدول به صورت زیر است:

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 از نوع zero-based هستند.

پروتکل درخواست برای درج سطرها یا ستون‌های جدول به صورت زیر است:

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
      }
    }
  ]
}