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
مرزهای افقی را در داخل محدوده ایجاد می کند. حذف فیلد باعث می شود که مرزها فقط به بالا و پایین کل محدوده اضافه شوند.
پروتکل درخواست در زیر نشان داده شده است.
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
را برای بهروزرسانی سلولها برای داشتن قالبهای تاریخ و شماره سفارشی نشان میدهد. اولین درخواست به سلولهای محدوده 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" ارائه می شود.
پروتکل درخواست در زیر نشان داده شده است.
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" } } ] }