בגיליונות אלקטרוניים יכולים להיות כמה גיליונות, ובכל גיליון יכולים להיות מספר שורות או עמודות. תא הוא מיקום בצומת של שורה ועמודה מסוימות, והוא יכול להכיל ערך נתונים. 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.