عمليات الصفوف والأعمدة

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

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

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

ضبط عرض العمود أو ارتفاع الصف

يوضّح نموذج التعليمات البرمجية spreadsheets.batchUpdate التالي كيفية استخدام UpdateDimensionPropertiesRequest لتعديل سمة العرض في العمود A إلى 160 بكسل. يحدّث الطلب الثاني خاصية ارتفاع الصف للصفوف الثلاثة الأولى لتكون 40 بكسل. ويحدّد الحقل dimension ما إذا كانت العملية تنطبق على الأعمدة أو الصفوف في ورقة بيانات.

في ما يلي بروتوكول الطلب.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "updateDimensionProperties": {
        "range": {
          "sheetId": SHEET_ID,
          "dimension": "COLUMNS",
          "startIndex": 0,
          "endIndex": 1
        },
        "properties": {
          "pixelSize": 160
        },
        "fields": "pixelSize"
      }
    },
    {
      "updateDimensionProperties": {
        "range": {
          "sheetId": SHEET_ID,
          "dimension": "ROWS",
          "startIndex": 0,
          "endIndex": 3
        },
        "properties": {
          "pixelSize": 40
        },
        "fields": "pixelSize"
      }
    }
  ]
}

إلحاق صفوف أو أعمدة فارغة

يوضح نموذج التعليمات البرمجية spreadsheets.batchUpdate التالي كيفية استخدام AppendDimensionRequest لإلحاق الصفوف والأعمدة. يُلحق الطلب الأول ثلاثة صفوف فارغة بنهاية الورقة، بينما يلحق الثاني بعمود واحد فارغ. ويحدّد الحقل dimension ما إذا كانت العملية تنطبق على الأعمدة أو الصفوف في ورقة بيانات.

في ما يلي بروتوكول الطلب.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "appendDimension": {
        "sheetId": SHEET_ID,
        "dimension": "ROWS",
        "length": 3
      }
    },
    {
      "appendDimension": {
        "sheetId": SHEET_ID,
        "dimension": "COLUMNS",
        "length": 1
      }
    }
  ]
}

تغيير حجم العمود تلقائيًا

يوضّح نموذج التعليمات البرمجية spreadsheets.batchUpdate التالي كيفية استخدام AutoResizeDimensionsRequest لتغيير حجم الأعمدة A:C، بناءً على حجم محتوى العمود. يشير الحقل dimension إلى أنّ العملية تنطبق على أعمدة الورقة.

في ما يلي بروتوكول الطلب.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "autoResizeDimensions": {
        "dimensions": {
          "sheetId": SHEET_ID,
          "dimension": "COLUMNS",
          "startIndex": 0,
          "endIndex": 3
        }
      }
    }
  ]
}

تغيير حجم صف تلقائيًا

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

في ما يلي بروتوكول الطلب.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "autoResizeDimensions": {
        "dimensions": {
          "sheetId": SHEET_ID,
          "dimension": "ROWS",
          "startIndex": 0,
          "endIndex": 3
        }
      }
    }
  ]
}

حذف صفوف أو أعمدة

يوضّح نموذج التعليمات البرمجية spreadsheets.batchUpdate التالي كيفية استخدام DeleteDimensionRequest لحذف أول ثلاثة صفوف في ورقة البيانات. يحذف طلب ثانٍ الأعمدة B:D. يحدد الحقل dimension ما إذا كان سيتم تطبيق العملية على الأعمدة أو الصفوف في ورقة البيانات.

في ما يلي بروتوكول الطلب.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "deleteDimension": {
        "range": {
          "sheetId": SHEET_ID,
          "dimension": "ROWS",
          "startIndex": 0,
          "endIndex": 3
        }
      }
    },
    {
      "deleteDimension": {
        "range": {
          "sheetId": SHEET_ID,
          "dimension": "COLUMNS",
          "startIndex": 1,
          "endIndex": 4
        }
      }
    },
  ],
}

إدراج صف أو عمود فارغ

يوضّح نموذج التعليمات البرمجية spreadsheets.batchUpdate التالي كيفية استخدام InsertDimensionRequest لإدراج أعمدة أو صفوف في فهرس معيّن (مثل إضافة صفوف فارغة في أعلى الورقة). يدرج الطلب الأول عمودين فارغين في العمود C. يدرج طلب ثانٍ ثلاثة صفوف فارغة تبدأ من الصف 1.

يحدد الحقل dimension ما إذا كان سيتم تطبيق العملية على الأعمدة أو الصفوف في ورقة البيانات.

إذا كانت القيمة "صحيح"، يطلب الحقل inheritFromBefore من "واجهة برمجة التطبيقات لجداول بيانات Google" منح الأعمدة أو الصفوف الجديدة الخصائص نفسها للصف أو العمود السابق، وإذا كانت القيمة خطأ، سيتم اكتساب السمات من السمات بعد الأعمدة أو الصفوف الجديدة. لا يمكن أن يكون inheritFromBefore صحيحًا في حال إدراج صف في الصف 1 أو عمود في العمود A.

في ما يلي بروتوكول الطلب.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "insertDimension": {
        "range": {
          "sheetId": SHEET_ID,
          "dimension": "COLUMNS",
          "startIndex": 2,
          "endIndex": 4
        },
        "inheritFromBefore": true
      }
    },
    {
      "insertDimension": {
        "range": {
          "sheetId": SHEET_ID,
          "dimension": "ROWS",
          "startIndex": 0,
          "endIndex": 3
        },
        "inheritFromBefore": false
      }
    },
  ],
}

نقل صف أو عمود

يوضح نموذج التعليمات البرمجية spreadsheets.batchUpdate التالي كيفية استخدام MoveDimensionRequest لنقل العمود A إلى العمود D. ينقل الطلب الثاني الصفوف من 5 إلى 10 إلى موضع الصف 20.

يحدد الحقل dimension ما إذا كان سيتم تطبيق العملية على الأعمدة أو الصفوف في ورقة البيانات. ويحدِّد الحقل destinationIndex مكان نقل بيانات المصدر باستخدام فهرس بدء يستند إلى صفر.

في ما يلي بروتوكول الطلب.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "moveDimension": {
        "source": {
          "sheetId": SHEET_ID,
          "dimension": "COLUMNS",
          "startIndex": 0,
          "endIndex": 1
        },
        "destinationIndex": 3
      }
    },
    {
      "moveDimension": {
        "source": {
          "sheetId": SHEET_ID,
          "dimension": "ROWS",
          "startIndex": 4,
          "endIndex": 10
        },
        "destinationIndex": 19
      }
    },
  ],
}