באמצעות Google Sheets API אפשר לעדכן את הפורמט של תאים טווחים בתוך גיליונות אלקטרוניים. בדוגמאות שבדף הזה מוסבר איך לבצע פעולות נפוצות של עיצוב באמצעות Sheets API. דוגמאות נוספות לעיצוב מותנה מפורטות בדף של המתכון עיצוב מותנה.
כשמעדכנים גיליון אלקטרוני, יכול להיות שחלק מסוגי הבקשות יחזירו תשובות.
התשובות האלה מוחזרות במערך, וכל תשובה תופסת את אותו אינדקס כמו הבקשה התואמת. לחלק מהבקשות אין תשובות, והתשובה שלהן ריקה. מבנה התגובה לדוגמאות האלה מופיע בקטע spreadsheets.batchUpdate
.
הדוגמאות האלה מוצגות כבקשות HTTP כדי שיהיו ניטרליות מבחינת שפה. במאמר עדכון גיליונות אלקטרוניים מוסבר איך מטמיעים עדכון באצווה בשפות שונות באמצעות ספריות הלקוח של Google API.
בדוגמאות האלה, התוויות SPREADSHEET_ID ו-SHEET_ID מצביעות על המקומות שבהם צריך לספק את המזהים האלה. המזהה של הגיליון האלקטרוני מופיע בכתובת ה-URL של הגיליון האלקטרוני. אפשר לקבל את מזהה הגיליון באמצעות ה-method spreadsheets.get
. טווחי הנתונים מצוינים באמצעות סימון A1. דוגמה לטווח היא Sheet1!A1:D5.
בסרטון שלמעלה מוסבר איך לעצב תאים בגיליון אלקטרוני בדרכים שונות, כולל: יצירת שורות קפואות, הדגשת תאים, הטמעת פורמט של מטבע, ביצוע אימות תאים והגבלת ערכי תאים.
עריכת גבולות של תאים
בדוגמת הקוד הבאה של spreadsheets.batchUpdate
מוסבר איך להשתמש ב-UpdateBordersRequest
כדי להוסיף לכל תא בטווח A1:F10 גבול כחול מקווקו בחלק העליון ובחלק התחתון. השדה innerHorizontal
יוצר גבולות אופקיים בתוך הטווח.
אם השדה לא יצוין, המערכת תוסיף גבולות רק לחלק העליון ולחלק התחתון של כל הטווח.
פרוטוקול הבקשה מוצג בהמשך.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{ "requests": [ { "updateBorders": { "range": { "sheetId": SHEET_ID, "startRowIndex": 0, "endRowIndex": 10, "startColumnIndex": 0, "endColumnIndex": 6 }, "top": { "style": "DASHED", "width": 1, "color": { "blue": 1.0 }, }, "bottom": { "style": "DASHED", "width": 1, "color": { "blue": 1.0 }, }, "innerHorizontal": { "style": "DASHED", "width": 1, "color": { "blue": 1.0 }, }, } } ] }
עיצוב של שורת כותרת
בדוגמת הקוד הבאה של spreadsheets.batchUpdate
מוסבר איך להשתמש ב-RepeatCellRequest
כדי לעצב שורת כותרת בגיליון. הבקשה הראשונה מעדכנת את צבע הטקסט, צבע הרקע, גודל הגופן של הטקסט וההצדקה של הטקסט, ומדגישה את הטקסט. אם משמיטים את אינדקסי העמודות בשדה range
, הפורמט יוחל על כל השורה. הבקשה השנייה מתאימה את מאפייני הגיליון כך ששורת הכותרת תהיה קפואה.
פרוטוקול הבקשה מוצג בהמשך.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{ "requests": [ { "repeatCell": { "range": { "sheetId": SHEET_ID, "startRowIndex": 0, "endRowIndex": 1 }, "cell": { "userEnteredFormat": { "backgroundColor": { "red": 0.0, "green": 0.0, "blue": 0.0 }, "horizontalAlignment" : "CENTER", "textFormat": { "foregroundColor": { "red": 1.0, "green": 1.0, "blue": 1.0 }, "fontSize": 12, "bold": true } } }, "fields": "userEnteredFormat(backgroundColor,textFormat,horizontalAlignment)" } }, { "updateSheetProperties": { "properties": { "sheetId": SHEET_ID, "gridProperties": { "frozenRowCount": 1 } }, "fields": "gridProperties.frozenRowCount" } } ] }
מזג תאים
בדוגמת הקוד הבאה של spreadsheets.batchUpdate
מוסבר איך להשתמש בפונקציה MergeCellsRequest
כדי למזג תאים. הבקשה הראשונה ממזגת את הטווח A1:B2 לתא אחד. בבקשה השנייה, המערכת ממזגת את העמודות ב-A3:B6, אבל השורות נשארות מופרדות.
פרוטוקול הבקשה מוצג בהמשך.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{ "requests": [ { "mergeCells": { "range": { "sheetId": SHEET_ID, "startRowIndex": 0, "endRowIndex": 2, "startColumnIndex": 0, "endColumnIndex": 2 }, "mergeType": "MERGE_ALL" } }, { "mergeCells": { "range": { "sheetId": SHEET_ID, "startRowIndex": 2, "endRowIndex": 6, "startColumnIndex": 0, "endColumnIndex": 2 }, "mergeType": "MERGE_COLUMNS" } }, ] }
הגדרת פורמט תאריך-שעה או עשרוני בהתאמה אישית לטווח
בדוגמת הקוד הבאה של spreadsheets.batchUpdate
מוסבר איך להשתמש ב-RepeatCellRequest
כדי לעדכן תאים כך שיכללו פורמטים מותאמים אישית של תאריכים ושעות ומספרים. הבקשה הראשונה מקצה לתאים בטווח A1:A10 את פורמט התאריך והשעה המותאם אישית hh:mm:ss am/pm,
ddd mmm dd yyyy
. דוגמה לתאריך ושעה בפורמט הזה: "02:05:07 PM, Sun Apr
03 2016".
הבקשה השנייה מקצה לתאים ב-B1:B10 את פורמט המספרים המותאם אישית #,##0.0000
, שמציין שצריך לקבץ את המספרים באמצעות תווים מפרידים של פסיק, שצריכות להיות 4 ספרות אחרי הנקודה העשרונית ושצריך להשמיט את כל האפסים המובילים מלבד אפס אחד. לדוגמה, המספר '3.14' מוצג בתור '3.1400', בעוד שהמספר '12345.12345' מוצג בתור '12,345.1235'.
פרוטוקול הבקשה מוצג בהמשך.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{ "requests": [ { "repeatCell": { "range": { "sheetId": SHEET_ID, "startRowIndex": 0, "endRowIndex": 10, "startColumnIndex": 0, "endColumnIndex": 1 }, "cell": { "userEnteredFormat": { "numberFormat": { "type": "DATE", "pattern": "hh:mm:ss am/pm, ddd mmm dd yyyy" } } }, "fields": "userEnteredFormat.numberFormat" } }, { "repeatCell": { "range": { "sheetId": SHEET_ID, "startRowIndex": 0, "endRowIndex": 10, "startColumnIndex": 1, "endColumnIndex": 2 }, "cell": { "userEnteredFormat": { "numberFormat": { "type": "NUMBER", "pattern": "#,##0.0000" } } }, "fields": "userEnteredFormat.numberFormat" } } ] }