تتيح لك Google Sheets API إنشاء جداول البيانات وحذفها ونسخها وتعديلها، بالإضافة إلى التحكّم في خصائصها. توضِّح الأمثلة الواردة في هذه الصفحة كيفية تنفيذ بعض العمليات الشائعة في "جداول بيانات Google" باستخدام واجهة برمجة التطبيقات Sheets API.
يتم تقديم هذه الأمثلة في شكل طلبات HTTP لتكون متعافِية من اللغة. للتعرّف على كيفية تنفيذ تعديل مجمّع بلغات مختلفة باستخدام مكتبات برامج Google API، اطّلِع على مقالة تعديل جداول بيانات Google.
في هذين المثالَين، تشير العنصران النائبان SPREADSHEET_ID
وSHEET_ID
إلى المكان الذي يجب فيه تقديم معرّفات التطبيقَين. يمكنك العثور على رقم تعريف جدول البيانات في عنوان URL لجدول البيانات. يمكنك الحصول على
معرّف جدول البيانات باستخدام الأسلوب
spreadsheets.get
. يتم تحديد النطاقات
باستخدام ترميز A1. أحد مثالي النطاق هو الورقة1!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
من جدول بيانات، المحدّد من خلال 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
}
},
...
],
}