عمليات البيانات

تتيح لك 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"
          }
        ]
      }
    }
  ]
}