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

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

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

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

ในตัวอย่างเหล่านี้ ตัวยึดตำแหน่ง SPREADSHEET_ID และ SHEET_ID ระบุตำแหน่งที่คุณจะระบุรหัสเหล่านั้น คุณจะพบรหัสของสเปรดชีตใน URL ของสเปรดชีต คุณรับรหัสชีตได้โดยใช้เมธอด spreadsheets.get โดยจะระบุช่วงโดยใช้รูปแบบ A1 ตัวอย่างช่วงคือ 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 จะปรับพร็อพเพอร์ตี้ชีตเพื่อให้ แถวส่วนหัวตรึงอยู่

ตาราง 3x3 ที่มีแถวส่วนหัวที่จัดรูปแบบในชีต
รูปที่ 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 โดยปล่อยให้แถวแยกกัน

ตาราง 3x3 ที่มีเซลล์ที่ผสานในชีต
รูปที่ 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 Apr 03 2016"

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

ดูข้อมูลเพิ่มเติมได้ที่รูปแบบวันที่และตัวเลข

ตาราง 3x3 ที่มีรูปแบบวันที่เวลาและตัวเลขที่กำหนดเองในชีต
รูปที่ 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"       }     }   ] }