Google ชีต 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 }, }, } } ] }
จัดรูปแบบแถวส่วนหัว
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีใช้ RepeatCellRequest
เพื่อจัดรูปแบบแถวส่วนหัวในชีตspreadsheets.batchUpdate
คำขอแรกจะอัปเดตสีข้อความ สีพื้นหลัง ขนาดแบบอักษรของข้อความ และการจัดข้อความให้อยู่ตรงกลาง รวมถึงทำให้ข้อความเป็นตัวหนา การละเว้นดัชนีคอลัมน์ในช่อง 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 น., อาทิตย์ที่ 3 เม.ย. 2016"
คําขอที่ 2 กำหนดรูปแบบตัวเลขที่กำหนดเองให้กับเซลล์ใน B1:B10 #,##0.0000
ซึ่งระบุว่าควรจัดกลุ่มตัวเลขด้วยตัวคั่นคอมมา ควรมีตัวเลข 4 หลักหลังจุดทศนิยม และควรลบเลข 0 นําหน้าทั้งหมดออก ยกเว้น 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" } } ] }