تتيح لك Google Sheets API معالجة البيانات داخل جداول البيانات في وطرق. معظم الوظائف المتوفرة للمستخدمين الذين يستخدمون من الممكن أيضًا التعامل مع واجهة مستخدم "جداول بيانات Google" Sheets API. توضح الأمثلة في هذه الصفحة كيف يمكنك تحقيق بعض عمليات جداول البيانات الشائعة باستخدام Sheets API.
يتم تقديم هذه الأمثلة في شكل طلبات HTTP لتكون اللغة محايدة. لمعرفة كيفية تنفيذ تحديث مجمّع بلغات مختلفة باستخدام مكتبات عملاء واجهة Google API، راجع تحديث جداول البيانات.
في هذه الأمثلة، العنصران النائبان SPREADSHEET_ID
وSHEET_ID
يشير إلى مكان تقديم أرقام التعريف هذه. يمكنك العثور على جدول البيانات
ID في عنوان URL لجدول البيانات. يمكنك الحصول على
معرّف الورقة باستخدام
spreadsheets.get
تشير رسالة الأشكال البيانية
يتم تحديد النطاقات باستخدام ترميز A1. إنّ
مثال النطاق هو Sheet1!A1:D5.
تطبيق التحقق من صحة البيانات على نطاق
ما يلي:
spreadsheets.batchUpdate
نموذج التعليمات البرمجية كيفية استخدام
SetDataValidationRequest
لتطبيق قاعدة للتحقق من صحة البيانات، حيث تكون "القيمة > 5"، إلى كل خلية في النطاق A1:D10.
في ما يلي بروتوكول الطلب.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{
"requests": [
{
"setDataValidation": {
"range": {
"sheetId": SHEET_ID
,
"startRowIndex": 0,
"endRowIndex": 10,
"startColumnIndex": 0,
"endColumnIndex": 4
},
"rule": {
"condition": {
"type": "NUMBER_GREATER",
"values": [
{
"userEnteredValue": "5"
}
]
},
"inputMessage": "Value must be > 5",
"strict": true
}
}
}
]
}
نسخ & لصق تنسيق الخلية
ما يلي:
spreadsheets.batchUpdate
نموذج التعليمات البرمجية كيفية استخدام
CopyPasteRequest
لنسخ التنسيق فقط في النطاق A1:D10 ولصقه في النطاق F1:I10
في نفس الورقة. تستخدم الطريقة دالة الرسم
تعداد PasteType
مع PASTE_FORMAT
للصق التنسيق والتحقق من صحة البيانات فقط. تشير رسالة الأشكال البيانية
تظل القيم الأصلية في A1:D10 دون تغيير.
في ما يلي بروتوكول الطلب.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{ "requests": [ { "copyPaste": { "source": { "sheetId":SHEET_ID
, "startRowIndex": 0, "endRowIndex": 10, "startColumnIndex": 0, "endColumnIndex": 4 }, "destination": { "sheetId":SHEET_ID
, "startRowIndex": 0, "endRowIndex": 10, "startColumnIndex": 5, "endColumnIndex": 9 }, "pasteType": "PASTE_FORMAT", "pasteOrientation": "NORMAL" } } ] }
قص لصق الخلايا
ما يلي:
spreadsheets.batchUpdate
نموذج التعليمات البرمجية كيفية استخدام
CutPasteRequest
تقطع النطاق A1:D10 وتستخدم
تعداد PasteType
مع PASTE_NORMAL
للصق القيم والمعادلات وتنسيقها وعمليات الدمج في
نطاق F1:I10 في نفس الورقة. محتويات خلية النطاق المصدر الأصلي
تمت إزالته.
في ما يلي بروتوكول الطلب.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{ "requests": [ { "cutPaste": { "source": { "sheetId":SHEET_ID
, "startRowIndex": 0, "endRowIndex": 10, "startColumnIndex": 0, "endColumnIndex": 4 }, "destination": { "sheetId":SHEET_ID
, "rowIndex": 0, "columnIndex": 5 }, "pasteType": "PASTE_NORMAL" } } ] }
تكرار صيغة على نطاق
ما يلي:
spreadsheets.batchUpdate
نموذج التعليمات البرمجية كيفية استخدام
RepeatCellRequest
لنسخ المعادلة =FLOOR(A1*PI())
إلى النطاق B1:D10. نطاق المعادلة
تلقائيًا لكل صف وعمود في النطاق، بدءًا من
الخلية العلوية اليسرى. على سبيل المثال، تحتوي الخلية B1 على المعادلة =FLOOR(A1*PI())
، بينما
الخلية D6 لها المعادلة =FLOOR(C6*PI())
.
في ما يلي بروتوكول الطلب.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{
"requests": [
{
"repeatCell": {
"range": {
"sheetId": SHEET_ID
,
"startRowIndex": 0,
"endRowIndex": 10,
"startColumnIndex": 1,
"endColumnIndex": 4
},
"cell": {
"userEnteredValue": {
"formulaValue": "=FLOOR(A1*PI())"
}
},
"fields": "userEnteredValue"
}
}
]
}
ترتيب نطاق بمواصفات ترتيب متعددة
ما يلي:
spreadsheets.batchUpdate
نموذج التعليمات البرمجية كيفية استخدام
SortRangeRequest
لفرز النطاق A1:D10، أولاً حسب العمود B بترتيب تصاعدي، ثم حسب العمود C
تنازليًا، ثم حسب العمود D بترتيب تنازلي.
في ما يلي بروتوكول الطلب.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{
"requests": [
{
"sortRange": {
"range": {
"sheetId": SHEET_ID
,
"startRowIndex": 0,
"endRowIndex": 10,
"startColumnIndex": 0,
"endColumnIndex": 4
},
"sortSpecs": [
{
"dimensionIndex": 1,
"sortOrder": "ASCENDING"
},
{
"dimensionIndex": 2,
"sortOrder": "DESCENDING"
},
{
"dimensionIndex": 3,
"sortOrder": "DESCENDING"
}
]
}
}
]
}