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