التنسيق الأساسي

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

عند تعديل جدول بيانات، قد تعرض بعض أنواع الطلبات ردودًا. يتم إرجاعها في صفيف، مع شغل كل استجابة الفهرس نفسه مثل الطلب المقابل. بعض الطلبات لا تتضمن ردودًا، وبالنسبة إلى الاستجابة فارغة. يمكن العثور على هيكل الرد لهذه الأمثلة ضمن spreadsheets.batchUpdate

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

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

في الفيديو أعلاه، تتعلم كيفية تنسيق خلايا جدول البيانات بطرق مختلفة، بما في ذلك: إنشاء صفوف مجمدة، وجعل الخلايا غامقة، وتنفيذ العملة وتنسيقها وإجراء التحقق من صحة الخلايا وتقييد قيم الخلايا.

تعديل حدود الخلية

ما يلي: spreadsheets.batchUpdate نموذج التعليمات البرمجية كيفية استخدام UpdateBordersRequest لمنح كل خلية في نطاق A1:F10 حدًا علويًا وسفليًا متقطعًا أزرق متقطع. تشير رسالة الأشكال البيانية ينشئ الحقل innerHorizontal حدودًا أفقية في الجزء الداخلي من النطاق. سيؤدي إغفال الحقل إلى إضافة الحدود إلى الجزء العلوي فقط أسفل النطاق بأكمله.

جدول 3 × 3، ولكل خلية حدوده العلوية والسفلية المتقطعة.
الشكل 1. يجب تنسيق كل خلية باستخدام حدّ علوي وسفلي أزرق متقطع متقطّع في جدول بيانات.

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

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "updateBorders": {
        "range": {
          "sheetId": SHEET_ID,
          "startRowIndex": 0,
          "endRowIndex": 10,
          "startColumnIndex": 0,
          "endColumnIndex": 6
        },
        "top": {
          "style": "DASHED",
          "width": 1,
          "color": {
            "blue": 1.0
          },
        },
        "bottom": {
          "style": "DASHED",
          "width": 1,
          "color": {
            "blue": 1.0
          },
        },
        "innerHorizontal": {
          "style": "DASHED",
          "width": 1,
          "color": {
            "blue": 1.0
          },
        },
      }
    }
  ]
}

تنسيق صف عنوان

ما يلي: spreadsheets.batchUpdate نموذج التعليمات البرمجية كيفية استخدام RepeatCellRequest لتنسيق صف العنوان في ورقة بيانات. يقوم الطلب الأول بتحديث لون النص، ولون الخلفية وحجم خط النص وتبرير النص ويجعل غامق النص. يؤدي حذف فهارس الأعمدة في الحقل range إلى الصف المراد تنسيقه. يقوم الطلب الثاني بضبط خصائص الورقة بحيث تم تجميد صف العنوان.

جدول 3 × 3 يحتوي على صف عنوان منسَّق في ورقة بيانات.
الشكل 2. تنسيق صف العنوان في جدول بيانات

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

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "repeatCell": {
        "range": {
          "sheetId": SHEET_ID,
          "startRowIndex": 0,
          "endRowIndex": 1
        },
        "cell": {
          "userEnteredFormat": {
            "backgroundColor": {
              "red": 0.0,
              "green": 0.0,
              "blue": 0.0
            },
            "horizontalAlignment" : "CENTER",
            "textFormat": {
              "foregroundColor": {
                "red": 1.0,
                "green": 1.0,
                "blue": 1.0
              },
              "fontSize": 12,
              "bold": true
            }
          }
        },
        "fields": "userEnteredFormat(backgroundColor,textFormat,horizontalAlignment)"
      }
    },
    {
      "updateSheetProperties": {
        "properties": {
          "sheetId": SHEET_ID,
          "gridProperties": {
            "frozenRowCount": 1
          }
        },
        "fields": "gridProperties.frozenRowCount"
      }
    }
  ]
}

دمج الخلايا

ما يلي: spreadsheets.batchUpdate نموذج التعليمات البرمجية كيفية استخدام MergeCellsRequest لدمج الخلايا. يدمج الطلب الأول النطاق A1:B2 في خلية واحدة. تشير رسالة الأشكال البيانية يدمج الطلب الثاني الأعمدة في A3:B6، مع ترك الصفوف مفصولة.

جدول 3 × 3 يحتوي على خلايا مدمَجة في ورقة.
الشكل 3. ادمج الخلايا في ورقة البيانات.

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

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "mergeCells": {
        "range": {
          "sheetId": SHEET_ID,
          "startRowIndex": 0,
          "endRowIndex": 2,
          "startColumnIndex": 0,
          "endColumnIndex": 2
        },
        "mergeType": "MERGE_ALL"
      }
    },
    {
      "mergeCells": {
        "range": {
          "sheetId": SHEET_ID,
          "startRowIndex": 2,
          "endRowIndex": 6,
          "startColumnIndex": 0,
          "endColumnIndex": 2
        },
        "mergeType": "MERGE_COLUMNS"
      }
    },
  ]
}

ضبط تاريخ ووقت مخصّص أو تنسيق عشري لنطاق

ما يلي: spreadsheets.batchUpdate نموذج التعليمات البرمجية كيفية استخدام RepeatCellRequest تحديث الخلايا للحصول على تنسيقات تاريخ ووقت وأرقام مخصصة. الطلب الأول تعطي الخلايا في النطاق A1:A10 تنسيق التاريخ المخصّص hh:mm:ss am/pm, ddd mmm dd yyyy. مثال على الوقت والتاريخ بهذا التنسيق: "02:05:07 مساءً، الأحد نيسان (أبريل) 03 2016".

يعطي الطلب الثاني الخلايا في B1:B10 تنسيق الأرقام المخصص #,##0.0000، التي تشير إلى أنّه يجب تجميع الأرقام بفاصلة والفواصل، على أن يكون هناك 4 أرقام بعد العلامة العشرية، وأن جميع ينبغي إسقاط صفر بادئ واحد. على سبيل المثال، الرقم "3.14" كـ "3.1400"، بينما "12345.12345" يتم عرضه كـ "12,345.1235".

جدول 3 × 3 مع تنسيقات تاريخ ووقت مخصصة في جدول بيانات.
الشكل 4. يمكنك تحديث الخلايا للحصول على تنسيقات تاريخ ووقت مخصصة في ورقة البيانات.

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

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "repeatCell": {
        "range": {
          "sheetId": SHEET_ID,
          "startRowIndex": 0,
          "endRowIndex": 10,
          "startColumnIndex": 0,
          "endColumnIndex": 1
        },
        "cell": {
          "userEnteredFormat": {
            "numberFormat": {
              "type": "DATE",
              "pattern": "hh:mm:ss am/pm, ddd mmm dd yyyy"
            }
          }
        },
        "fields": "userEnteredFormat.numberFormat"
      }
    },
    {
      "repeatCell": {
        "range": {
          "sheetId": SHEET_ID,
          "startRowIndex": 0,
          "endRowIndex": 10,
          "startColumnIndex": 1,
          "endColumnIndex": 2
        },
        "cell": {
          "userEnteredFormat": {
            "numberFormat": {
              "type": "NUMBER",
              "pattern": "#,##0.0000"
            }
          }
        },
        "fields": "userEnteredFormat.numberFormat"
      }
    }
  ]
}