يوضّح هذا المستند أساسيات استخدام المورد
spreadsheets.values.
يمكن أن تحتوي جداول البيانات على عدة أوراق، ويمكن أن تحتوي كل ورقة على أي عدد من الصفوف أو الأعمدة. الخلية هي موضع
عند تقاطع صف وعمود معيّنَين، وقد تحتوي على قيمة بيانات. توفّر Google Sheets API مورد spreadsheets.values لإتاحة قراءة القيم وكتابتها.
إذا كنت بحاجة إلى إدراج صفوف أو تعديل التنسيق والخصائص الأخرى في ورقة بيانات، عليك استخدام طريقة batchUpdate الخاصة بمورد spreadsheets، كما هو موضّح في تعديل جداول البيانات.
طُرق الموارد
يتيح العنصر
spreadsheets.values
الطُرق التالية لقراءة القيم وكتابتها، وكل طريقة مخصّصة
لمهمة معيّنة:
| الوصول إلى النطاق | القراءة | الكتابة |
|---|---|---|
| نطاق واحد | spreadsheets.values.get |
spreadsheets.values.update |
| نطاقات متعدّدة | spreadsheets.values.batchGet |
spreadsheets.values.batchUpdate |
| الإلحاق | spreadsheets.values.append |
بشكل عام، من المستحسن دمج عمليات قراءة أو تعديل متعددة باستخدام الطريقتَين batchGet وbatchUpdate (على التوالي)، لأنّ ذلك يحسّن الكفاءة.
يمكنك العثور على نماذج رموز برمجية لكل من هذه الطرق في صفحتَي النماذج القراءة الأساسية والكتابة الأساسية. للاطّلاع على جميع نماذج الرموز، يُرجى الرجوع إلى صفحة نظرة عامة على النماذج.
قراءة قيم الخلايا
لقراءة قيم البيانات من ورقة بيانات، يجب توفير معرّف جدول البيانات وتنسيق A1 للنطاق. يؤدي تحديد النطاق بدون معرّف ورقة البيانات (A1:B2) إلى تنفيذ الطلب على ورقة البيانات الأولى في جدول البيانات. لمزيد من المعلومات حول أرقام تعريف جداول البيانات وتنسيق A1، يُرجى الاطّلاع على نظرة عامة على Google Sheets API.
تتحكّم عدة مَعلمات طلب بحث اختيارية في تنسيق الناتج:
| مَعلمة التنسيق | القيمة التلقائية |
|---|---|
majorDimension |
ROWS |
valueRenderOption |
FORMATTED_VALUE |
dateTimeRenderOption |
SERIAL_NUMBER |
يُرجى العلم أنّه يجب استخدام dateTimeRenderOption فقط إذا لم يكن valueRenderOption FORMATTED_VALUE.
لا يوجد حدّ أقصى صريح لمقدار البيانات التي يتم عرضها. لا تعرض الأخطاء أي بيانات. يتم حذف الصفوف والأعمدة الفارغة الأخيرة.
يتم وصف طريقتَي الحصول على البيانات الفردية والدفعية في الأقسام التالية. للاطّلاع على المزيد من عيّنات الرموز لعمليات القراءة الأساسية، راجِع القراءة الأساسية.
قراءة القيم من نطاق واحد
لقراءة نطاق واحد من القيم من جدول بيانات، استخدِم طلب
spreadsheets.values.get:
برمجة التطبيقات
جافا
JavaScript
Node.js
PHP
Python
Ruby
يتم عرض الردّ على هذا الطلب ككائن
ValueRange
وهو جزء من المورد
spreadsheets.values.
قراءة القيم من نطاقات متعددة
لقراءة نطاقات متعدّدة وغير متجاورة من القيم من جدول بيانات، استخدِم طلب spreadsheets.values.batchGet يتيح لك تحديد عدة نطاقات لاستردادها:
برمجة التطبيقات
جافا
JavaScript
Node.js
PHP
Python
Ruby
يتم عرض الردّ على هذا الطلب ككائن
BatchGetValuesResponse
يحتوي على spreadsheetId وقائمة بكائنات
ValueRange.
كتابة قيم الخلايا
للكتابة في ورقة بيانات، تحتاج إلى معرّف جدول البيانات ونطاق الخلايا بتنسيق A1 والبيانات التي تريد كتابتها ضمن عنصر مناسب في نص الطلب. لمزيد من المعلومات حول أرقام تعريف جداول البيانات وتنسيق A1، يُرجى الاطّلاع على نظرة عامة على Google Sheets API.
تتحكّم عدة مَعلمات طلب بحث في طريقة كتابة البيانات وتنسيق الاستجابة، وهي:
| كتابة المَعلمة | القيمة التلقائية |
|---|---|
valueInputOption |
(مطلوب) |
includeValuesInResponse |
false |
responseValueRenderOption |
FORMATTED_VALUE |
responseDateTimeRenderOption |
SERIAL_NUMBER |
تتحكّم المَعلمة valueInputOption المطلوبة في كيفية تفسير البيانات المدخلة. (بالنسبة إلى التعديلات المجمّعة، يتم تحديد هذه المَعلمة بدلاً من ذلك في نص الطلب). يتم وصف الخيارات المتوافقة في الجدول التالي:
ValueInputOption |
الوصف |
|---|---|
RAW |
لا يتم تحليل الإدخال ويتم إدراجه كسلسلة. على سبيل المثال، يؤدي الإدخال "=1+2" إلى وضع السلسلة "=1+2" في الخلية، وليس الصيغة. (تتم دائمًا معالجة القيم غير السلسلة، مثل القيم المنطقية أو الأرقام، على أنّها RAW). |
USER_ENTERED |
يتم تحليل الإدخال تمامًا كما لو تم إدخاله في واجهة مستخدم "جداول بيانات Google". على سبيل المثال، يتحوّل "1 مارس 2016" إلى تاريخ، ويتحوّل "=1+2" إلى صيغة. يمكن أيضًا استنتاج التنسيقات، لذا يصبح "100.15 دولار أمريكي" رقمًا بتنسيق العملة. |
يُرجى العِلم أنّه يجب استخدام responseDateTimeRenderOption فقط إذا لم يكن responseValueRenderOption هو FORMATTED_VALUE.
يتم وصف طريقتَي التعديل الفردي والتعديل المجمّع في الأقسام التالية. للاطّلاع على المزيد من نماذج الرموز لعمليات الكتابة الأساسية، يُرجى الاطّلاع على الكتابة الأساسية.
كتابة القيم في نطاق واحد
لكتابة البيانات في نطاق واحد، استخدِم طلبًا
spreadsheets.values.update:
برمجة التطبيقات
جافا
JavaScript
Node.js
PHP
Python
Ruby
يجب أن يكون نص طلب التعديل كائن ValueRange، علمًا بأنّ الحقل المطلوب الوحيد هو values. في حال تحديد range، يجب أن يتطابق مع النطاق في عنوان URL. في ValueRange، يمكنك اختياريًا تحديد
majorDimension.
يتم استخدام ROWS تلقائيًا. في حال تحديد COLUMNS، تتم كتابة كل مصفوفة داخلية في عمود بدلاً من صف.
عند التعديل، يتم تخطّي القيم التي لا تتضمّن بيانات. لمحو البيانات، استخدِم سلسلة فارغة (""). يمكنك أيضًا محو القيم من نطاقات متعددة بدون استبدالها باستخدام طريقة spreadsheets.values.batchClear.
إذا كنت تستخدم البيانات الوصفية للمطوّرين، راجِع دليل البيانات الوصفية للمطوّرين للحصول على معلومات حول استخدام فلاتر البيانات لقراءة القيم أو تعديلها أو محوها باستخدام الطرق spreadsheets.values.batchGetByDataFilter وspreadsheets.values.batchUpdateByDataFilter وspreadsheets.values.batchClearByDataFilter.
كتابة قيم في نطاقات متعددة
إذا أردت كتابة نطاقات متعدّدة غير متجاورة، يمكنك استخدام طلب
spreadsheets.values.batchUpdate:
برمجة التطبيقات
جافا
JavaScript
Node.js
PHP
Python
Ruby
يجب أن يكون نص طلب التعديل المجمّع عبارة عن عنصر
BatchUpdateValuesRequest
يحتوي على ValueInputOption وقائمة بعناصر
ValueRange (عنصر واحد لكل نطاق مكتوب). يحدّد كل عنصر ValueRange range وmajorDimension وبيانات الإدخال الخاصة به.
إلحاق القيم
لإلحاق البيانات بعد جدول بيانات في ورقة بيانات، استخدِم طلب spreadsheets.values.append:
برمجة التطبيقات
جافا
JavaScript
Node.js
PHP
Python
Ruby
يجب أن يكون نص طلب التعديل كائن ValueRange، علمًا بأنّ الحقل المطلوب الوحيد هو values. في حال تحديد range، يجب أن يتطابق مع النطاق في عنوان URL. في ValueRange، يمكنك اختياريًا تحديد
majorDimension.
يتم استخدام ROWS تلقائيًا. في حال تحديد COLUMNS، تتم كتابة كل مصفوفة داخلية في عمود بدلاً من صف.
يُستخدَم نطاق الإدخال للبحث عن البيانات الحالية والعثور على "جدول" ضمن هذا النطاق. تتم إضافة القيم إلى الصف التالي في الجدول، بدءًا من العمود الأول في الجدول. على سبيل المثال، ضع في اعتبارك Sheet1 الذي يبدو على النحو التالي:
| A | ب | C | D | E | |
| 1 | x | y | z | ||
| 2 | x | y | z | ||
| 3 | |||||
| 4 | x | y | |||
| 5 | y | z | |||
| 6 | x | y | z | ||
| 7 |
يتضمّن ورقة البيانات جدولَين: A1:C2 وB4:D6. ستبدأ القيم الملحقة عند B7 لجميع المدخلات التالية range:
Sheet1، لأنّها ستفحص جميع البيانات في ورقة البيانات وتحدّد أنّ الجدول فيB4:D6هو الجدول الأخير.B4أوC5:D5، لأنّ كلاهما في الجدولB4:D6B2:D4، لأنّ الجدول الأخير في النطاق هو الجدولB4:D6(على الرغم من أنّه يتضمّن أيضًا الجدولA1:C2).-
A3:G10، لأنّ الجدول الأخير في النطاق هو الجدولB4:D6(على الرغم من أنّه يبدأ قبل الجدول وينتهي بعده).
لن تبدأ كتابة إدخالات range التالية في B7:
- سيبدأ
A1الكتابة فيA3، لأنّ ذلك في جدولA1:C2. - ستبدأ "
E4" الكتابة فيE4لأنّها ليست في أي جدول. (سيبدأA4الكتابة أيضًا فيA4للأسباب نفسها).
بالإضافة إلى ذلك، يمكنك اختيار ما إذا كنت تريد استبدال البيانات الحالية بعد جدول أو إدراج صفوف جديدة للبيانات الجديدة. بشكلٍ تلقائي، تستبدل البيانات المُدخَلة البيانات
بعد الجدول. لكتابة البيانات الجديدة في صفوف جديدة، استخدِم
InsertDataOption
وحدِّد insertDataOption=INSERT_ROWS.
لمزيد من المعلومات حول الحدود القصوى للخلايا والصفوف في "جداول بيانات Google"، يُرجى الاطّلاع على الملفات التي يمكنك تخزينها في Google Drive.