עיצוב בסיסי

באמצעות Google Sheets API אפשר לעדכן את העיצוב של תאים וטווחים בתוך גיליונות אלקטרוניים. הדוגמאות בדף זה ממחישות כמה נפוצות אפשר לבצע פעולות פורמט באמצעות Sheets API. אפשר דוגמאות נוספות לעיצוב מותנה דף המתכון.

כשמעדכנים גיליון אלקטרוני, סוגים מסוימים של בקשות עשויים להחזיר תשובות. הערכים האלה מוחזרים במערך, וכל תגובה מכילה את אותו אינדקס את הבקשה המתאימה. לחלק מהבקשות אין תשובות, ולחלק מהבקשות ריקה. את מבנה התשובות לדוגמאות האלה אפשר למצוא בקטע spreadsheets.batchUpdate

הדוגמאות האלה מוצגות בצורה של בקשות HTTP ניטרלי. כדי ללמוד איך להטמיע עדכון בכמות גדולה בשפות שונות באמצעות על ספריות הלקוח של Google API, ראו עדכון גיליונות אלקטרוניים.

בדוגמאות האלה, ערכי ה-placeholders SPREADSHEET_ID ו-SHEET_ID מציין איפה תציינו את המזהים האלה. הגיליון האלקטרוני נמצא ID בכתובת ה-URL של הגיליון האלקטרוני. אפשר לקבל את מזהה הגיליון באמצעות spreadsheets.get. מציינים טווחים באמצעות סימון A1. הטווח לדוגמה הוא Sheet1!A1:D5.

בסרטון שלמעלה תלמדו איך לעצב תאים בגיליון אלקטרוני בדרכים שונות, כולל: יצירת שורות שהוקפאו, הדגשת תאים, הטמעת מטבע עיצוב, ביצוע אימות תאים והגבלת ערכי תאים.

עריכה של גבולות תאים

הבאים spreadsheets.batchUpdate דוגמת הקוד מראה איך להשתמש UpdateBordersRequest כדי לתת לכל תא בטווח A1:F10 גבול מקווקו כחול ותחתון. השדה innerHorizontal יוצר גבולות אופקיים בחלק הפנימי של הטווח. השמטת השדה תגרום להוספת גבולות לחלק העליון בלבד, של כל הטווח.

טבלה של 3 על 3 שבה לכל תא גבול מקווקו כחול ותחתון.
איור 1. עיצוב כל תא בגיליון עם גבול מקווקו כחול ותחתון.

פרוטוקול הבקשה מוצג למטה.

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

טבלה בגודל 3 על 3 עם שורת כותרת מעוצבת בגיליון.
איור 2. עיצוב שורת הכותרת בגיליון.

פרוטוקול הבקשה מוצג למטה.

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 ומשאירה את השורות מופרדות.

טבלה של 3 על 3 עם תאים ממוזגים בגיליון.
איור 3. מיזוג תאים בגיליון.

פרוטוקול הבקשה מוצג למטה.

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, Sunday Apr 03 2016".

הבקשה השנייה מספקת לתאים ב-B1:B10 את פורמט המספר המותאם אישית #,##0.0000, שמציין שצריך לקבץ מספרים באמצעות פסיק צריכות להיות 4 ספרות אחרי הנקודה העשרונית, ושכל צריך לשחרר אפס בהתחלה אחד. לדוגמה, המספר "3.14" מעובד בתור 3.1400, בעוד 12345.12345 הוא מעובד כ-"12,345.1235".

טבלה בגודל 3 על 3 עם פורמטים מותאמים אישית של תאריך ושעה ומספרים בגיליון.
איור 4. מעדכנים את התאים בגיליון עם פורמטים מותאמים אישית של תאריך ושעה ומספרים.

פרוטוקול הבקשה מוצג למטה.

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"
      }
    }
  ]
}