Google Sheets API به شما امکان میدهد برگهها را ایجاد، پاکسازی، کپی و حذف کنید و همچنین ویژگیهای آنها را کنترل کنید. مثالهای موجود در این صفحه نشان میدهند که چگونه میتوانید به برخی از عملیات رایج Sheets با Sheets API دست پیدا کنید.
این نمونه ها در قالب درخواست های HTTP برای خنثی بودن زبان ارائه شده اند. برای یادگیری نحوه اجرای یک بهروزرسانی دستهای به زبانهای مختلف با استفاده از کتابخانههای سرویس گیرنده Google API، به بهروزرسانی صفحات گسترده مراجعه کنید.
در این مثالها، متغیرهای SPREADSHEET_ID
و SHEET_ID
نشان میدهند که کجا آن شناسهها را ارائه میکنید. میتوانید شناسه صفحهگسترده را در URL صفحهگسترده پیدا کنید. با استفاده از روش spreadsheets.get
می توانید شناسه برگه را دریافت کنید. محدوده ها با استفاده از نماد A1 مشخص می شوند. محدوده نمونه Sheet1!A1:D5 است.
یک ورق اضافه کنید
نمونه کد spreadsheets.batchUpdate
زیر نحوه استفاده از AddSheetRequest
برای افزودن یک صفحه به صفحه گسترده را نشان می دهد، در حالی که عنوان، اندازه شبکه و رنگ برگه را نیز تنظیم می کند.
پاسخ شامل یک AddSheetResponse
است که حاوی یک شی با ویژگی های برگه ایجاد شده (مانند SHEET_ID
آن) است.
پروتکل درخواست در زیر نشان داده شده است.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{ "requests": [ { "addSheet": { "properties": { "title": "Deposits", "gridProperties": { "rowCount": 20, "columnCount": 12 }, "tabColor": { "red": 1.0, "green": 0.3, "blue": 0.4 } } } } ] }
با حفظ فرمت ها، یک برگه را از تمام مقادیر پاک کنید
نمونه کد spreadsheets.batchUpdate
زیر نحوه استفاده از UpdateCellsRequest
را برای حذف همه مقادیر از یک برگه در حالی که قالب بندی بدون تغییر باقی می ماند، نشان می دهد.
تعیین فیلد userEnteredValue
بدون مقدار متناظر به عنوان دستورالعملی برای پاک کردن مقادیر در محدوده تفسیر می شود. این تنظیمات را می توان با سایر فیلدها نیز استفاده کرد. برای مثال، تغییر مقدار fields
به userEnteredFormat
تمام قالببندیهای پشتیبانی شده توسط Sheets API را از صفحه حذف میکند، اما مقادیر سلول را بدون تغییر باقی میگذارد.
پروتکل درخواست در زیر نشان داده شده است.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{
"requests": [
{
"updateCells": {
"range": {
"sheetId": SHEET_ID
},
"fields": "userEnteredValue"
}
}
]
}
یک برگه را از یک صفحه گسترده به صفحه گسترده دیگر کپی کنید
نمونه کد spreadsheet.sheets.copyTo
زیر نحوه کپی کردن یک صفحه مشخص شده توسط SHEET_ID
را از یک صفحه گسترده به صفحه گسترده دیگر نشان می دهد.
متغیر TARGET_SPREADSHEET_ID
در بدنه درخواست، صفحه گسترده مقصد را مشخص می کند. کپی تمام مقادیر، قالب بندی، فرمول ها و سایر خصوصیات نسخه اصلی را حفظ می کند. عنوان برگه کپی شده روی "کپی از [عنوان برگ اصلی]" تنظیم شده است.
پاسخ شامل یک شی SheetProperties
است که ویژگی های صفحه ایجاد شده را توصیف می کند.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
/sheets/SHEET_ID
:copyTo
{
"destinationSpreadsheetId": "TARGET_SPREADSHEET_ID
"
}
یک برگه را حذف کنید
نمونه کد spreadsheets.batchUpdate
زیر نحوه استفاده از DeleteSheetRequest
را برای حذف یک برگه مشخص شده توسط SHEET_ID
نشان می دهد.
پروتکل درخواست در زیر نشان داده شده است.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{
"requests": [
{
"deleteSheet": {
"sheetId": SHEET_ID
}
}
]
}
خواندن داده های برگه
نمونه کد spreadsheets.get
زیر نحوه دریافت اطلاعات ویژگی برگه را از یک صفحه گسترده نشان می دهد که توسط SHEET_ID
و SPREADSHEET_ID
مشخص شده است. این روش اغلب برای تعیین فرادادههای برگهها در یک صفحه گسترده خاص استفاده میشود، بنابراین عملیات اضافی میتواند آن صفحات را هدف قرار دهد. پارامتر پرس و جو fields
مشخص می کند که فقط داده های ویژگی برگه باید برگردانده شوند (برخلاف داده های مقدار سلول یا داده های مربوط به کل صفحه گسترده).
GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
?&fields=sheets.properties
پاسخ شامل یک منبع Spreadsheet
است که حاوی یک شی Sheet
با عناصر SheetProperties
است. اگر یک فیلد پاسخ داده شده روی مقدار پیش فرض تنظیم شود، از پاسخ حذف می شود.
{
"sheets": [
{
"properties": {
"sheetId": SHEET_ID
,
"title": "Sheet1",
"index": 0,
"sheetType": "GRID",
"gridProperties": {
"rowCount": 100,
"columnCount": 20,
"frozenRowCount": 1
}
"tabColor": {
"blue": 1.0
}
},
...
],
}