يمكن أن تحتوي جداول البيانات على أوراق بيانات متعددة، مع احتواء كل ورقة بيانات على أي عدد من الصفوف
أو الأعمدة. الخلية هي موقع عند
تقاطع صف وعمود معيّنين، وقد تحتوي على قيمة بيانات. تقدّم واجهة برمجة التطبيقات
Google Sheets API spreadsheets.values
المورد لتفعيل قراءة القيم وكتابتها.
توضّح هذه الصفحة أساسيات استخدام المرجع spreadsheets.values
. إذا
كنت بحاجة إلى إدراج صفوف أو تعديل التنسيق والخصائص الأخرى في جدول،
يجب استخدام spreadsheets.batchUpdate
الطريقة الموضّحة في تعديل جداول البيانات.
الطُرق
يقدّم المرجع spreadsheets.values
الطرق التالية لقراءة القيم وكتابتها، وكل طريقة مخصّصة للقيام بأحد المهام التالية:
الوصول إلى النطاق | القراءة | الكتابة |
---|---|---|
نطاق واحد | spreadsheets.values.get |
spreadsheets.values.update |
نطاقات متعددة | spreadsheets.values.batchGet |
spreadsheets.values.batchUpdate |
إلحاق | spreadsheets.values.append |
بشكل عام، من المستحسن دمج عمليات قراءة أو تعديل متعددة مع الطريقتَين
batchGet
وbatchUpdate
(على التوالي)، لأنّ ذلك يُحسِّن
الكفاءة.
يمكنك العثور على أمثلة لكل من هذه الطرق في صفحتَي قراءة أساسية وكتابة أساسية. للاطّلاع على جميع العيّنات، يُرجى الرجوع إلى صفحة النظرة العامة على العيّنات.
قراءة
لقراءة قيم البيانات من ورقة بيانات، تحتاج إلى رقم تعريف جدول البيانات وعلامة A1
للنطاق. يشير تحديد النطاق بدون معرّف الورقة (A1:B2
)
إلى أنّه سيتم تنفيذ الطلب في الورقة الأولى من جدول البيانات. لمزيد من
المعلومات عن أرقام تعريف جداول البيانات وطريقة الترميز A1، يُرجى الاطّلاع على نظرة عامة على واجهة برمجة تطبيقات "جداول بيانات Google".
تتحكّم عدة مَعلمات اختيارية لطلبات البحث في تنسيق الإخراج:
مَعلمة التنسيق | القيمة التلقائية |
---|---|
majorDimension |
ROWS |
valueRenderOption |
FORMATTED_VALUE |
dateTimeRenderOption |
SERIAL_NUMBER |
يُرجى العلم أنّه يجب استخدام dateTimeRenderOption
فقط إذا لم يكن valueRenderOption
FORMATTED_VALUE
.
ما مِن حدّ واضح لكمية البيانات التي يتم عرضها. لا تعرض الأخطاء أي بيانات. يتم حذف الصفوف والأعمدة الفارغة في نهاية النطاق.
في ما يلي وصف طريقتَي الحصول على البيانات الفردية والدفعة. للحصول على عيّنات من عمليات القراءة الأساسية، اطّلِع على القراءة الأساسية.
قراءة نطاق واحد
لقراءة نطاق واحد من القيم من جدول بيانات، استخدِم طلبًا من نوع
spreadsheets.values.get
:
برمجة تطبيقات
Java
JavaScript
Node.js
PHP
Python
Ruby
يتم عرض الردّ على هذا الطلب كعنصر
ValueRange
.
قراءة نطاقات متعددة
لقراءة نطاقات متعددة ومتقطّعة من القيم من جدول بيانات، استخدِم طلب
spreadsheets.values.batchGet
يتيح لك تحديد عدة نطاقات لاستردادها:
برمجة تطبيقات
Java
JavaScript
Node.js
PHP
Python
Ruby
يتم عرض استجابة هذا الطلب على أنّها عنصر
BatchGetValuesResponse
يحتوي على spreadsheetId
وقائمة بعناصر
ValueRange
.
كتابة
للكتابة في ورقة بيانات، تحتاج إلى معرّف جدول البيانات ونطاق الخلايا في التنسيق A1 والبيانات التي تريد كتابتها ضمن عنصر مناسب لنص الطلب. لمزيد من المعلومات عن أرقام تعريف جداول البيانات وطريقة الترميز A1، يُرجى الاطّلاع على نظرة عامة على واجهة برمجة تطبيقات "جداول بيانات Google".
تتطلّب التعديلات مَعلمة
ValueInputOption
صالحة.
بالنسبة إلى التحديثات الفردية، هذه مَعلمة طلب بحث مطلوبة. بالنسبة إلى عمليات التحديث المجمّعة،
يجب إدخال هذه المَعلمة في محتوى الطلب. تتحكّم القيمة ValueInputOption
في كيفية تفسير بيانات الإدخال وما إذا كان سيتم تحليل سلاسل الإدخال أم
لا، كما هو موضّح في الجدول التالي:
ValueInputOption |
الوصف |
---|---|
RAW |
لا يتم تحليل الإدخال ويتم إدراجه كسلسلة. على سبيل المثال، يؤدي إدخال "=1+2" إلى وضع السلسلة "=1+2" في الخلية، وليس الصيغة. (يتم دائمًا التعامل مع القيم غير السلاسل، مثل القيم المنطقية أو الأرقام، على أنّها RAW .) |
USER_ENTERED |
ويتم تحليل الإدخال تمامًا كما لو تم إدخاله في واجهة مستخدم "جداول بيانات Google". على سبيل المثال، يصبح "1 آذار (مارس) 2016" تاريخًا، ويصبح "=1+2" صيغة. يمكن أيضًا استنتاج التنسيقات، وبالتالي يصبح "100.15 دولار أمريكي" رقمًا بتنسيق عملة. |
في ما يلي وصف طريقتَي التحديث الفردي والمجمّع. للحصول على عيّنات من عمليات الكتابة الأساسية، اطّلِع على الكتابة الأساسية.
الكتابة في نطاق واحد
لكتابة البيانات في نطاق واحد، استخدِم طلب
spreadsheets.values.update
:
برمجة تطبيقات
Java
JavaScript
Node.js
PHP
Python
Ruby
يجب أن يكون نص طلب التعديل عنصرًا
ValueRange
، على الرغم من أنّ الحقل الوحيد المطلوب هو values
. في حال تحديد range
، يجب أن
يتطابق مع النطاق الوارد في عنوان URL. في ValueRange
، يمكنك اختياريًا تحديد
majorDimension
.
يتم استخدام ROWS
تلقائيًا. إذا تم تحديد COLUMNS
، يتم تسجيل كل صفيف داخلي
في عمود بدلاً من صف.
عند إجراء التعديلات، يتم تخطّي القيم التي لا تحتوي على بيانات. لمحو البيانات، استخدِم سلسلة فارغة ("").
كتابة نطاقات متعددة
إذا كنت تريد كتابة نطاقات متعددة غير متّصلة، يمكنك استخدام طلب
spreadsheets.values.batchUpdate
:
برمجة تطبيقات
Java
JavaScript
Node.js
PHP
Python
Ruby
يجب أن يكون نص طلب التعديل المجمّع عنصرًا من نوع
BatchUpdateValuesRequest
يحتوي على ValueInputOption
وقائمة بعناصر
ValueRange
(عنصر واحد لكل نطاق مكتوب). يحدِّد كل عنصر ValueRange
range
وmajorDimension
وبيانات الإدخال الخاصة به.
إلحاق القيم
لإلحاق البيانات بعد جدول بيانات في ورقة بيانات، استخدِم طلبًا من نوع
spreadsheets.values.append
:
برمجة تطبيقات
Java
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:D6
.B2: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.