تتيح لك Google Sheets API إنشاء قواعد التنسيق الشرطي وتعديلها. في جداول البيانات. أنواع تنسيق معينة فقط (غامق، مائل، يتوسطه خط، ولون المقدمة ولون الخلفية) من خلال شرطي والتنسيق. توضح الأمثلة الموجودة في هذه الصفحة كيفية تحقيق القيم المشتركة عمليات التنسيق الشرطي باستخدام Sheets API.
ويتم تقديم هذه الأمثلة في صورة طلبات HTTP لتكون محايدة اللغة. للتعلّم كيفية تنفيذ تحديث مجمّع بلغات مختلفة باستخدام Google API مكتبات العملاء، راجع تحديث جداول البيانات.
في هذه الأمثلة، العنصران النائبان SPREADSHEET_ID وSHEET_ID
يشير إلى مكان تقديم أرقام التعريف هذه. يمكنك العثور على جدول البيانات
ID في عنوان URL لجدول البيانات. يمكنك الحصول على
معرّف الورقة باستخدام
spreadsheets.get
تشير رسالة الأشكال البيانية
يتم تحديد النطاقات باستخدام ترميز A1. إنّ
مثال النطاق هو Sheet1!A1:D5.
إضافة تدرج لون شرطي على مستوى صف
ما يلي:
spreadsheets.batchUpdate
نموذج رمز الطريقة يعرض كيفية استخدام
AddConditionalFormatRuleRequest
لإنشاء قواعد جديدة للتنسيق الشرطي للتدرج للصفين 10 و11 من
ورقة البيانات. تنص القاعدة الأولى على أن الخلايا في هذا الصف لها ألوان خلفيتها
محددة وفقًا لقيمتها. أدنى قيمة في الصف هي اللون الأحمر الداكن،
بينما يتم تلوين أعلى قيمة باللون الأخضر الساطع. لون القيم الأخرى
يتم استقراءه. تفعل القاعدة الثانية نفس الشيء، ولكن بقيم رقمية محددة
تحديد نقاط نهاية التدرج (وألوان مختلفة). يستخدم الطلب دالة
sheets.InterpolationPointType
باسم type
.
في ما يلي بروتوكول الطلب.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{ "requests": [ { "addConditionalFormatRule": { "rule": { "ranges": [ { "sheetId": SHEET_ID, "startRowIndex": 9, "endRowIndex": 10, } ], "gradientRule": { "minpoint": { "color": { "green": 0.2, "red": 0.8 }, "type": "MIN" }, "maxpoint": { "color": { "green": 0.9 }, "type": "MAX" }, } }, "index": 0 } }, { "addConditionalFormatRule": { "rule": { "ranges": [ { "sheetId": SHEET_ID, "startRowIndex": 10, "endRowIndex": 11, } ], "gradientRule": { "minpoint": { "color": { "green": 0.8, "red": 0.8 }, "type": "NUMBER", "value": "0" }, "maxpoint": { "color": { "blue": 0.9, "green": 0.5, "red": 0.5 }, "type": "NUMBER", "value": "256" }, } }, "index": 1 } }, ] }
بعد الطلب، تعدِّل قاعدة التنسيق المطبَّقة ورقة البيانات. نظرًا لأن التدرج
في الصف 11، تم ضبط نقطة الحد الأقصى على 256
، أي قيم أعلى منها تضم الحد الأقصى
اللون:
إضافة قاعدة تنسيق شرطي إلى مجموعة من النطاقات
ما يلي:
spreadsheets.batchUpdate
نموذج رمز الطريقة يعرض كيفية استخدام
AddConditionalFormatRuleRequest
لإنشاء قاعدة تنسيق شرطي جديدة للعمودين A وC للورقة.
تنص القاعدة على أن الخلايا ذات القيم 10 أو أقل لها خلفيتها
تغيرت الألوان إلى الأحمر الداكن. يتم إدراج القاعدة في الفهرس 0، لذا تأخذ
الأولوية على قواعد التنسيق الأخرى. يستخدم الطلب دالة
ConditionType
باعتباره type
BooleanRule
في ما يلي بروتوكول الطلب.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{ "requests": [ { "addConditionalFormatRule": { "rule": { "ranges": [ { "sheetId": SHEET_ID, "startColumnIndex": 0, "endColumnIndex": 1, }, { "sheetId": SHEET_ID, "startColumnIndex": 2, "endColumnIndex": 3, }, ], "booleanRule": { "condition": { "type": "NUMBER_LESS_THAN_EQ", "values": [ { "userEnteredValue": "10" } ] }, "format": { "backgroundColor": { "green": 0.2, "red": 0.8, } } } }, "index": 0 } } ] }
بعد الطلب، تعدِّل قاعدة التنسيق المطبَّقة ورقة البيانات:
إضافة قواعد التنسيق الشرطي للنص والتاريخ إلى نطاق
ما يلي:
spreadsheets.batchUpdate
نموذج رمز الطريقة يعرض كيفية استخدام
AddConditionalFormatRuleRequest
لإنشاء قواعد تنسيق شرطي جديدة للنطاق A1:D5 في ورقة،
بناءً على قيم التاريخ والنص في تلك الخلايا. إذا كان النص يحتوي على السلسلة
"التكلفة" (غير حساسة لحالة الأحرف)، فإن القاعدة الأولى تحدد نص الخلية كغامق. إذا كانت
على تاريخ يقع قبل الأسبوع الماضي، تحدد القاعدة الثانية
نص الخلية بخط مائل وألوان أزرق. يستخدم الطلب دالة
ConditionType
باعتباره type
BooleanRule
في ما يلي بروتوكول الطلب.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{ "requests": [ { "addConditionalFormatRule": { "rule": { "ranges": [ { "sheetId": SHEET_ID, "startRowIndex": 0, "endRowIndex": 5, "startColumnIndex": 0, "endColumnIndex": 4, } ], "booleanRule": { "condition": { "type": "TEXT_CONTAINS", "values": [ { "userEnteredValue": "Cost" } ] }, "format": { "textFormat": { "bold": true } } } }, "index": 0 } }, { "addConditionalFormatRule": { "rule": { "ranges": [ { "sheetId": SHEET_ID, "startRowIndex": 0, "endRowIndex": 5, "startColumnIndex": 0, "endColumnIndex": 4, } ], "booleanRule": { "condition": { "type": "DATE_BEFORE", "values": [ { "relativeDate": "PAST_WEEK" } ] }, "format": { "textFormat": { "italic": true, "foregroundColor": { "blue": 1 } } } } }, "index": 1 } } ] }
بعد الطلب، تعدِّل قاعدة التنسيق المطبَّقة ورقة البيانات. في هذا المثال، فإن التاريخ الحالي هو 26/9/2016:
إضافة قاعدة صيغة مخصّصة إلى نطاق
ما يلي:
spreadsheets.batchUpdate
نموذج رمز الطريقة يعرض كيفية استخدام
AddConditionalFormatRuleRequest
لإنشاء قاعدة تنسيق شرطي جديدة للنطاق B5:B8 في ورقة،
استنادًا إلى صيغة مخصّصة. تحسب القاعدة ناتج الخلية في
العمودين A وB. إذا كان المنتج أكبر من 120، فسيتم تعيين نص الخلية على
بالخط الغامق والمائل. يستخدم الطلب دالة
ConditionType
باعتباره type
BooleanRule
في ما يلي بروتوكول الطلب.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{ "requests": [ { "addConditionalFormatRule": { "rule": { "ranges": [ { "sheetId": SHEET_ID, "startColumnIndex": 2, "endColumnIndex": 3, "startRowIndex": 4, "endRowIndex": 8 } ], "booleanRule": { "condition": { "type": "CUSTOM_FORMULA", "values": [ { "userEnteredValue": "=GT(A5*B5,120)" } ] }, "format": { "textFormat": { "bold": true, "italic": true } } } }, "index": 0 } } ] }
بعد الطلب، تعدِّل قاعدة التنسيق المطبَّقة ورقة البيانات:
حذف قاعدة تنسيق شرطي
ما يلي:
spreadsheets.batchUpdate
نموذج رمز الطريقة يعرض كيفية استخدام
DeleteConditionalFormatRuleRequest
لحذف قاعدة التنسيق الشرطي مع الفهرس 0
في الورقة المحددة
بواسطة SHEET_ID.
في ما يلي بروتوكول الطلب.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{ "requests": [ { "deleteConditionalFormatRule": { "sheetId": SHEET_ID, "index": 0 } } ] }
قراءة قائمة قواعد التنسيق الشرطي
ما يلي:
رمز الطريقة spreadsheets.get
نموذج يعرض كيفية الحصول على العنوان وSHEET_ID وقائمة بجميع
قواعد التنسيق الشرطي لكل ورقة في جدول بيانات. طلب البحث fields
البيانات التي يتم عرضها.
في ما يلي بروتوكول الطلب.
GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID?fields=sheets(properties(title,sheetId),conditionalFormats)
يتكون الرد من
Spreadsheet
، والذي
يحتوي على صفيف من
يحتوي كل عنصر Sheet
على
CANNOT TRANSLATE
SheetProperties
العنصر وصفيفة من
ConditionalFormatRule
عناصر. إذا تم ضبط حقل استجابة معيّن على القيمة التلقائية، سيتم حذفه.
من الرد. يستخدم الطلب دالة
ConditionType
باعتباره type
BooleanRule
{ "sheets": [ { "properties": { "sheetId": 0, "title": "Sheet1" }, "conditionalFormats": [ { "ranges": [ { "startRowIndex": 4, "endRowIndex": 8, "startColumnIndex": 2, "endColumnIndex": 3 } ], "booleanRule": { "condition": { "type": "CUSTOM_FORMULA", "values": [ { "userEnteredValue": "=GT(A5*B5,120)" } ] }, "format": { "textFormat": { "bold": true, "italic": true } } } }, { "ranges": [ { "startRowIndex": 0, "endRowIndex": 5, "startColumnIndex": 0, "endColumnIndex": 4 } ], "booleanRule": { "condition": { "type": "DATE_BEFORE", "values": [ { "relativeDate": "PAST_WEEK" } ] }, "format": { "textFormat": { "foregroundColor": { "blue": 1 }, "italic": true } } } }, ... ] } ] }
تعديل قاعدة التنسيق الشرطي أو أولويتها
ما يلي:
spreadsheets.batchUpdate
نموذج رمز الطريقة يعرض كيفية استخدام
UpdateConditionalFormatRuleRequest
عبر طلبات متعددة. ينقل الطلب الأول تنسيقًا شرطيًا حاليًا
إلى مؤشر أعلى (من 0
إلى 2
، ما يؤدي إلى انخفاض أولويتها). الفرصة الثانية
يستبدل الطلب قاعدة التنسيق الشرطي في الفهرس 0
بقاعدة جديدة
تعمل على تنسيق الخلايا التي تحتوي على النص المحدد ("إجمالي التكلفة") في
نطاق A1:D5. تكتمل عملية نقل الطلب الأول قبل بدء الطلب الثاني، وبالتالي
ويحل الطلب الثاني محل القاعدة التي كانت في الأصل في الفهرس 1
. تشير رسالة الأشكال البيانية
الطلب يستخدم
ConditionType
باعتباره type
BooleanRule
في ما يلي بروتوكول الطلب.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{ "requests": [ { "updateConditionalFormatRule": { "sheetId": SHEET_ID, "index": 0, "newIndex": 2 }, "updateConditionalFormatRule": { "sheetId": SHEET_ID, "index": 0, "rule": { "ranges": [ { "sheetId": SHEET_ID, "startRowIndex": 0, "endRowIndex": 5, "startColumnIndex": 0, "endColumnIndex": 4, } ], "booleanRule": { "condition": { "type": "TEXT_EQ", "values": [ { "userEnteredValue": "Total Cost" } ] }, "format": { "textFormat": { "bold": true } } } } } } ] }