การจัดรูปแบบพื้นฐาน

Google Sheets API ช่วยให้คุณอัปเดตการจัดรูปแบบของเซลล์และช่วงได้ ในสเปรดชีต ตัวอย่างในหน้านี้แสดงให้เห็นว่า การจัดรูปแบบจะสามารถทำได้โดยใช้ Sheets API คุณสามารถ ดูตัวอย่างการจัดรูปแบบตามเงื่อนไขเพิ่มเติมได้ใน การจัดรูปแบบ

เมื่ออัปเดตสเปรดชีต คำขอบางประเภทอาจแสดงคำตอบ ข้อมูลเหล่านี้จะแสดงผลในอาร์เรย์ โดยการตอบกลับแต่ละรายการจะใช้ดัชนีเดียวกับ คำขอที่เกี่ยวข้อง บางคำขอไม่มีการตอบกลับ และสำหรับคำขอเหล่านั้น ไม่มีการตอบกลับ โครงสร้างการตอบกลับสำหรับตัวอย่างเหล่านี้จะอยู่ใน spreadsheets.batchUpdate

ตัวอย่างเหล่านี้จะแสดงในรูปแบบคำขอ HTTP เป็นภาษา เป็นกลาง หากต้องการทราบวิธีใช้การอัปเดตเป็นกลุ่มในภาษาต่างๆ โดยใช้ ไลบรารีของไคลเอ็นต์ Google API โปรดดูการอัปเดต สเปรดชีต

ในตัวอย่างต่อไปนี้ ตัวยึดตำแหน่ง SPREADSHEET_ID และ SHEET_ID จะระบุตําแหน่งที่คุณจะส่งรหัสเหล่านั้น คุณจะพบสเปรดชีต รหัสใน URL ของสเปรดชีต คุณสามารถ รหัสชีตโดยใช้เมธอด spreadsheets.get มีการระบุช่วงโดยใช้รูปแบบ A1 CANNOT TRANSLATE ช่วงตัวอย่างคือ Sheet1!A1:D5

ในวิดีโอด้านบน คุณจะได้เรียนรู้วิธีจัดรูปแบบเซลล์ของสเปรดชีตด้วยวิธีต่างๆ ได้แก่ การสร้างแถวที่ตรึงไว้ การทำเซลล์เป็นตัวหนา การใช้สกุลเงิน การจัดรูปแบบ การตรวจสอบเซลล์ และการจำกัดค่าของเซลล์

แก้ไขเส้นขอบของเซลล์

ดังต่อไปนี้ spreadsheets.batchUpdate ตัวอย่างโค้ดจะแสดงวิธีใช้ UpdateBordersRequest เพื่อให้แต่ละเซลล์ในช่วง A1:F10 มีเส้นขอบด้านบนและด้านล่างเป็นเส้นประสีฟ้า ช่อง innerHorizontal สร้างเส้นขอบแนวนอนที่ภายในของช่วง การข้ามช่องจะส่งผลให้มีเพียงการใส่เส้นขอบด้านบนและ ที่ด้านล่างของทั้งช่วง

วันที่ ตารางแบบ 3x3 โดยแต่ละเซลล์มีขอบที่เป็นเส้นประสีน้ำเงินด้านบนและด้านล่าง
รูปที่ 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 จะทำให้ แถวที่จะจัดรูปแบบ คำขอที่ 2 จะปรับคุณสมบัติของชีตเพื่อให้ แถวส่วนหัวถูกตรึง

วันที่ ตาราง 3 x 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 ไว้ในเซลล์เดียว คำขอที่ 2 จะรวมคอลัมน์ใน A3:B6 และเว้นแถวต่างๆ ให้อยู่แยกกัน

วันที่ ตาราง 3 x 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 เพื่ออัปเดตเซลล์ให้มีรูปแบบวันที่และเวลาที่กำหนดเอง คำขอแรก ให้รูปแบบวันที่และเวลาที่กำหนดเอง hh:mm:ss am/pm, ddd mmm dd yyyy แก่เซลล์ในช่วง A1:A10 ตัวอย่างวันที่และเวลาในรูปแบบนี้ ได้แก่ "02:05:07 PM, Sun เม.ย. 03 2016"

คำขอที่ 2 ให้รูปแบบตัวเลขที่กำหนดเองในเซลล์ใน B1:B10 #,##0.0000 ซึ่งระบุว่าควรจัดกลุ่มตัวเลขด้วยเครื่องหมายจุลภาค ตัวคั่นควรประกอบด้วยตัวเลข 4 หลักหลังจุดทศนิยม และควรมีทั้งหมด 4 หลัก ควรทิ้งศูนย์นำ 1 นัด เช่น หมายเลข "3.14" มีการแสดงผล เป็น "3.1400" ขณะที่ "12345.12345" จะแสดงผลเป็น "12,345.1235"

วันที่ ตารางแบบ 3 x 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"
      }
    }
  ]
}