عمليات الورقة

تتيح لك واجهة برمجة التطبيقات Google Sheets API إنشاء أوراق ومسحها ونسخها وحذفها، كما تتيح لك التحكّم في خصائصها. توضّح الأمثلة الواردة في هذه الصفحة كيف يمكنك تنفيذ بعض عمليات "جداول بيانات Google" الشائعة باستخدام Sheets API.

يتم تقديم هذه الأمثلة في شكل طلبات HTTP لتكون محايدة لغويًا. للتعرّف على كيفية تنفيذ تعديل مجمّع بلغات مختلفة باستخدام مكتبات برامج Google API، يمكنك الاطّلاع على تعديل جداول البيانات.

في هذه الأمثلة، يشير العنصران النائبان SPREADSHEET_ID وSHEET_ID إلى المكان الذي يجب فيه تقديم أرقام التعريف هذه. يمكنك العثور على رقم تعريف جدول البيانات في عنوان URL الخاص بجدول البيانات. يمكنك الحصول على معرّف جدول البيانات باستخدام الطريقة spreadsheets.get. يتم تحديد النطاقات باستخدام ترميز A1. مثال على النطاق: الورقة1!A1:D5.

إضافة ورقة

يوضّح نموذج الرمز التالي كيفية استخدام AddSheetRequest لإضافة ورقة إلى جدول بيانات، مع ضبط العنوان وحجم الشبكة ولون علامة التبويب أيضًا.spreadsheets.batchUpdate

تتألف الاستجابة من 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
        }
      },
      ...
  ],
}