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

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

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

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

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

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

حاشیه های سلول را ویرایش کنید

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

جدول 3 در 3 با هر سلول دارای یک لبه بالا و پایین آبی رنگ است.
شکل 1. هر سلول را با یک لبه بالا و پایین آبی چین دار در یک صفحه قالب بندی کنید.

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

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 باعث می شود کل ردیف قالب بندی شود. درخواست دوم ویژگی های برگه را طوری تنظیم می کند که ردیف سرصفحه ثابت شود.

جدول 3 در 3 با یک ردیف سرصفحه فرمت شده در یک برگه.
شکل 2. ردیف سرصفحه را در یک برگه قالب بندی کنید.

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

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 ادغام می‌کند، در حالی که ردیف‌ها را از هم جدا می‌کند.

جدول 3 در 3 با سلول های ادغام شده در یک برگه.
شکل 3. سلول ها را در یک صفحه ادغام کنید.

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

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 را برای به‌روزرسانی سلول‌ها برای داشتن قالب‌های تاریخ و شماره سفارشی نشان می‌دهد. اولین درخواست به سلول‌های محدوده A1:A10 قالب سفارشی زمان تاریخ hh:mm:ss am/pm, ddd mmm dd yyyy . نمونه‌ای از تاریخ در این قالب این است: "02:05:07 PM, Sun 03 Apr 2016".

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

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

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

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