גיליונות אלקטרוניים יכולים לכלול כמה גיליונות, וכל גיליון יכול לכלול כל מספר של שורות או עמודות. תא הוא מיקום בצומת של שורה ועמודה מסוימות, והוא עשוי להכיל ערך נתונים. Google Sheets API מספק את המשאב spreadsheets.values
שמאפשר לקרוא ולכתוב ערכים.
בדף הזה מתוארים העקרונות הבסיסיים של השימוש במשאב spreadsheets.values
. אם אתם צריכים להוסיף שורות או לעדכן את הפורמט ואת המאפיינים האחרים של גיליון, עליכם להשתמש בשיטה spreadsheets.batchUpdate
שמתוארת בקטע עדכון גיליונות אלקטרוניים.
Methods
המשאב 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
:
Apps Script
Java
JavaScript
Node.js
PHP
Python
Ruby
התשובה לבקשה הזו מוחזרת כאובייקט ValueRange
.
קריאה של כמה טווחים
כדי לקרוא כמה טווחים לא רצופים של ערכים מגיליון אלקטרוני, משתמשים בבקשה spreadsheets.values.batchGet
שמאפשרת לציין כמה טווחים לאחזור:
Apps Script
Java
JavaScript
Node.js
PHP
Python
Ruby
התשובה לבקשה הזו מוחזרת כאובייקט BatchGetValuesResponse
שמכיל את spreadsheetId
ואת רשימת האובייקטים ValueRange
.
כתיבה
כדי לכתוב בגיליון, צריך את מזהה הגיליון האלקטרוני, את טווח התאים בסימון A1 ואת הנתונים שרוצים לכתוב באובייקט מתאים בגוף הבקשה. מידע נוסף על מזהי גיליונות אלקטרוניים ועל סימון A1 זמין בסקירה הכללית על Google Sheets API.
לעדכונים נדרשת ערך תקין של הפרמטר ValueInputOption
.
בעדכונים בודדים, זהו פרמטר שאילתה נדרש. בעדכוני באצ'טים, הפרמטר הזה נדרש בגוף הבקשה. השדה ValueInputOption
קובע איך צריך לפרש את נתוני הקלט ואם מנתחים מחרוזות קלט, כפי שמתואר בטבלה הבאה:
ValueInputOption |
תיאור |
---|---|
RAW |
הקלט לא מנותח ומוחדר כמחרוזת. לדוגמה, הקלט '=1+2' יניח את המחרוזת '=1+2' בתא, ולא את הנוסחה. (ערכים שאינם מחרוזות, כמו ערכים בוליאניים או מספרים, מטופלים תמיד כ-RAW ). |
USER_ENTERED |
הקלט מנותח בדיוק כמו שהוא הוזן בממשק המשתמש של Sheets. לדוגמה, '1 במרץ 2016' הופך לתאריך, ו-'=1+2' הופך לנוסחה. אפשר גם להסיק פורמטים, כך ש-'100.15$' הופך למספר עם פורמט מטבע. |
בהמשך מתוארות השיטות לעדכון יחיד וקבוצתי. דוגמאות לפעולות כתיבה בסיסיות מפורטות במאמר כתיבה בסיסית.
כתיבת נתונים בטווח יחיד
כדי לכתוב נתונים בטווח יחיד, משתמשים בבקשה spreadsheets.values.update
:
Apps Script
Java
JavaScript
Node.js
PHP
Python
Ruby
גוף הבקשה לעדכון חייב להיות אובייקט ValueRange
, אבל השדה היחיד הנדרש הוא values
. אם מציינים את הערך range
, הוא חייב להתאים לטווח בכתובת ה-URL. ב-ValueRange
, אפשר לציין את majorDimension
שלו.
כברירת מחדל, המערכת משתמשת ב-ROWS
. אם מציינים את COLUMNS
, כל מערך פנימי נכתב בעמודה במקום בשורה.
במהלך העדכון, ערכים ללא נתונים מושמטים. כדי לנקות את הנתונים, משתמשים במחרוזת ריקה ("").
כתיבת כמה טווחים
אם רוצים לכתוב כמה טווחים לא רצופים, אפשר להשתמש בבקשה spreadsheets.values.batchUpdate
:
Apps Script
Java
JavaScript
Node.js
PHP
Python
Ruby
גוף הבקשה לעדכון באצווה חייב להיות אובייקט BatchUpdateValuesRequest
שמכיל ValueInputOption
ורשימת אובייקטים מסוג ValueRange
(אחד לכל טווח כתיבה). כל אובייקט ValueRange
מציין את range
, את majorDimension
ואת נתוני הקלט שלו.
הוספת ערכים
כדי לצרף נתונים אחרי טבלת נתונים בגיליון, משתמשים בבקשה spreadsheets.values.append
:
Apps Script
Java
JavaScript
Node.js
PHP
Python
Ruby
גוף הבקשה לעדכון חייב להיות אובייקט ValueRange
, אבל השדה היחיד הנדרש הוא values
. אם מציינים את הערך range
, הוא חייב להתאים לטווח בכתובת ה-URL. ב-ValueRange
, אפשר לציין את majorDimension
שלו.
כברירת מחדל, המערכת משתמשת ב-ROWS
. אם מציינים את COLUMNS
, כל מערך פנימי נכתב בעמודה במקום בשורה.
טווח הקלט משמש לחיפוש נתונים קיימים ולמציאת 'טבלה' בטווח הזה. הערכים מצורפים לשורה הבאה בטבלה, החל מהעמודה הראשונה בטבלה. לדוגמה, נניח ש-Sheet1
נראה כך:
A | B | C | D | E | |
1 | x | y | z | ||
2 | x | y | z | ||
3 | |||||
4 | x | y | |||
5 | y | z | |||
6 | x | y | z | ||
7 |
יש 2 טבלאות בגיליון: 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
.
מידע נוסף על מגבלות של תאים ושורות ב-Sheets זמין במאמר קבצים שאפשר לאחסן ב-Google Drive.