Google Sheets API ช่วยให้คุณอัปเดตการจัดรูปแบบเซลล์และช่วงในสเปรดชีตได้ ตัวอย่างในหน้านี้จะแสดงให้เห็นวิธีดำเนินการจัดรูปแบบทั่วไปด้วย Sheets API ดูตัวอย่างการจัดรูปแบบตามเงื่อนไขอื่นๆ ได้ในหน้าสูตรอาหารการจัดรูปแบบตามเงื่อนไข
เมื่ออัปเดตสเปรดชีต คำขอบางประเภทอาจแสดงคำตอบ
ข้อมูลเหล่านี้จะแสดงผลในอาร์เรย์ โดยการตอบกลับแต่ละรายการใช้ดัชนีเดียวกันกับคำขอที่เกี่ยวข้อง บางคำขอไม่มีคำตอบและคำตอบว่างเปล่า โครงสร้างการตอบกลับของตัวอย่างเหล่านี้จะอยู่ในส่วน spreadsheets.batchUpdate
ตัวอย่างเหล่านี้มาในรูปแบบคำขอ HTTP ควรเป็นกลางทางภาษา หากต้องการดูวิธีใช้การอัปเดตเป็นกลุ่มในภาษาต่างๆ โดยใช้ไลบรารีของไคลเอ็นต์ Google API โปรดดูอัปเดตสเปรดชีต
ในตัวอย่างต่อไปนี้ ตัวยึดตำแหน่ง SPREADSHEET_ID และ SHEET_ID ระบุตำแหน่งที่คุณจะระบุรหัสเหล่านั้น คุณจะเห็นรหัสของสเปรดชีตใน URL ของสเปรดชีต คุณดูรหัสชีตได้โดยใช้เมธอด 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
จะทำให้ระบบจัดรูปแบบทั้งแถว คำขอที่ 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 โดยแยกแถวออกจากกัน
โปรโตคอลคำขอแสดงอยู่ด้านล่างนี้
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 Apr
03 2016"
คำขอที่ 2 จะให้รูปแบบตัวเลขที่กำหนดเองในเซลล์ใน B1:B10
#,##0.0000
ซึ่งระบุว่าควรจัดกลุ่มตัวเลขด้วยเครื่องหมายคั่นแต่ละรายการ ควรมี 4 หลักตามหลังทศนิยม และควรทิ้งเลขศูนย์นำหน้าทั้งหมด 1 ตัวเท่านั้น ตัวอย่างเช่น ตัวเลข "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" } } ] }