قالب بندی اولیه

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

هنگام به‌روزرسانی یک صفحه‌گسترده، برخی از انواع درخواست‌ها ممکن است پاسخ‌هایی را برگردانند. این پاسخ‌ها در یک آرایه برگردانده می‌شوند و هر پاسخ، اندیس یکسانی با درخواست مربوطه دارد. برخی از درخواست‌ها پاسخی ندارند و برای آنها پاسخ خالی است. ساختار پاسخ برای این مثال‌ها را می‌توانید در spreadsheets.batchUpdate بیابید.

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

در این مثال‌ها، متغیرهای SPREADSHEET_ID و SHEET_ID نشان می‌دهند که این شناسه‌ها را کجا باید ارائه دهید. می‌توانید شناسه صفحه گسترده را در URL صفحه گسترده پیدا کنید. می‌توانید شناسه صفحه را با استفاده از متد spreadsheets.get دریافت کنید. محدوده‌ها با استفاده از نمادگذاری A1 مشخص شده‌اند. یک محدوده به عنوان مثال Sheet1!A1:D5 است.

در ویدیوی بالا، نحوه قالب‌بندی سلول‌های صفحه‌گسترده را به روش‌های مختلف، از جمله: ایجاد ردیف‌های ثابت، پررنگ کردن سلول‌ها، پیاده‌سازی قالب‌بندی ارزی، انجام اعتبارسنجی سلول و محدود کردن مقادیر سلول، یاد می‌گیرید.

ویرایش حاشیه‌های سلول

نمونه کد spreadsheets.batchUpdate زیر نحوه استفاده از UpdateBordersRequest را برای اختصاص دادن یک حاشیه آبی رنگ و خط چین در بالا و پایین به هر سلول در محدوده A1:F10 نشان می‌دهد. فیلد innerHorizontal حاشیه‌های افقی را در داخل محدوده ایجاد می‌کند. حذف این فیلد منجر به اضافه شدن حاشیه‌ها فقط به بالا و پایین کل محدوده می‌شود.

جدولی ۳ در ۳ که هر سلول آن دارای حاشیه آبی رنگ در بالا و پایین است.
شکل ۱. هر سلول را با یک حاشیه آبی رنگ در بالا و پایین، در یک برگه، قالب‌بندی کنید.

پروتکل درخواست در زیر نشان داده شده است.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "updateBorders": {
        "range": {
          "sheetId": SHEET_ID,
          "startRowIndex": 0,
          "endRowIndex": 10,
          "startColumnIndex": 0,
          "endColumnIndex": 6
        },
        "top": {
          "style": "DASHED",
          "width": 1,
          "color": {
            "blue": 1.0
          },
        },
        "bottom": {
          "style": "DASHED",
          "width": 1,
          "color": {
            "blue": 1.0
          },
        },
        "innerHorizontal": {
          "style": "DASHED",
          "width": 1,
          "color": {
            "blue": 1.0
          },
        },
      }
    }
  ]
}

قالب‌بندی یک ردیف هدر

نمونه کد spreadsheets.batchUpdate زیر نحوه استفاده از RepeatCellRequest را برای قالب‌بندی یک ردیف سربرگ در یک برگه نشان می‌دهد. درخواست اول رنگ متن، رنگ پس‌زمینه، اندازه فونت متن و ترازبندی متن را به‌روزرسانی می‌کند و متن را پررنگ می‌کند. حذف شاخص‌های ستون در فیلد range باعث می‌شود کل ردیف قالب‌بندی شود. درخواست دوم ویژگی‌های برگه را طوری تنظیم می‌کند که ردیف سربرگ ثابت بماند.

جدول ۳ در ۳ با ردیف سربرگ قالب‌بندی‌شده در یک برگه.
شکل ۲. قالب‌بندی ردیف سربرگ در یک برگه.

پروتکل درخواست در زیر نشان داده شده است.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "repeatCell": {
        "range": {
          "sheetId": SHEET_ID,
          "startRowIndex": 0,
          "endRowIndex": 1
        },
        "cell": {
          "userEnteredFormat": {
            "backgroundColor": {
              "red": 0.0,
              "green": 0.0,
              "blue": 0.0
            },
            "horizontalAlignment" : "CENTER",
            "textFormat": {
              "foregroundColor": {
                "red": 1.0,
                "green": 1.0,
                "blue": 1.0
              },
              "fontSize": 12,
              "bold": true
            }
          }
        },
        "fields": "userEnteredFormat(backgroundColor,textFormat,horizontalAlignment)"
      }
    },
    {
      "updateSheetProperties": {
        "properties": {
          "sheetId": SHEET_ID,
          "gridProperties": {
            "frozenRowCount": 1
          }
        },
        "fields": "gridProperties.frozenRowCount"
      }
    }
  ]
}

ادغام سلول‌ها

نمونه کد spreadsheets.batchUpdate زیر نحوه استفاده از MergeCellsRequest را برای ادغام سلول‌ها نشان می‌دهد. درخواست اول محدوده A1:B2 را در یک سلول واحد ادغام می‌کند. درخواست دوم ستون‌های A3:B6 را ادغام می‌کند، در حالی که ردیف‌ها از هم جدا باقی می‌مانند.

جدول ۳ در ۳ با سلول‌های ادغام‌شده در یک برگه.
شکل ۳. ادغام سلول‌ها در یک برگه.

پروتکل درخواست در زیر نشان داده شده است.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "mergeCells": {
        "range": {
          "sheetId": SHEET_ID,
          "startRowIndex": 0,
          "endRowIndex": 2,
          "startColumnIndex": 0,
          "endColumnIndex": 2
        },
        "mergeType": "MERGE_ALL"
      }
    },
    {
      "mergeCells": {
        "range": {
          "sheetId": SHEET_ID,
          "startRowIndex": 2,
          "endRowIndex": 6,
          "startColumnIndex": 0,
          "endColumnIndex": 2
        },
        "mergeType": "MERGE_COLUMNS"
      }
    },
  ]
}

تنظیم تاریخ و زمان دلخواه یا قالب اعشاری برای یک محدوده

نمونه کد spreadsheets.batchUpdate زیر نحوه استفاده از RepeatCellRequest را برای به‌روزرسانی سلول‌ها به منظور داشتن قالب‌های تاریخ و زمان و عدد سفارشی نشان می‌دهد. اولین درخواست، قالب تاریخ و زمان سفارشی hh:mm:ss am/pm, ddd mmm dd yyyy را به سلول‌های محدوده A1:A10 می‌دهد. یک مثال از تاریخ و زمان با این قالب به صورت زیر است: "02:05:07 PM, Sun Apr 03 2016".

درخواست دوم به سلول‌های B1:B10 فرمت عددی سفارشی #,##0.0000 را می‌دهد، که نشان می‌دهد اعداد باید با جداکننده‌های کاما گروه‌بندی شوند، باید ۴ رقم بعد از اعشار وجود داشته باشد و همه صفرهای ابتدایی به جز یک حذف شوند. برای مثال، عدد "3.14" به صورت "3.1400" نمایش داده می‌شود، در حالی که "12345.12345" به صورت "12,345.1235" نمایش داده می‌شود.

برای اطلاعات بیشتر، به قالب‌های تاریخ و شماره مراجعه کنید.

جدول ۳ در ۳ با قالب‌های تاریخ و زمان و اعداد سفارشی در یک برگه.
شکل ۴. به‌روزرسانی سلول‌ها برای داشتن قالب‌های تاریخ و زمان و عدد سفارشی در یک برگه.

پروتکل درخواست در زیر نشان داده شده است.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "repeatCell": {
        "range": {
          "sheetId": SHEET_ID,
          "startRowIndex": 0,
          "endRowIndex": 10,
          "startColumnIndex": 0,
          "endColumnIndex": 1
        },
        "cell": {
          "userEnteredFormat": {
            "numberFormat": {
              "type": "DATE",
              "pattern": "hh:mm:ss am/pm, ddd mmm dd yyyy"
            }
          }
        },
        "fields": "userEnteredFormat.numberFormat"
      }
    },
    {
      "repeatCell": {
        "range": {
          "sheetId": SHEET_ID,
          "startRowIndex": 0,
          "endRowIndex": 10,
          "startColumnIndex": 1,
          "endColumnIndex": 2
        },
        "cell": {
          "userEnteredFormat": {
            "numberFormat": {
              "type": "NUMBER",
              "pattern": "#,##0.0000"
            }
          }
        },
        "fields": "userEnteredFormat.numberFormat"
      }
    }
  ]
}