สเปรดชีตมีชีตได้หลายรายการ โดยแต่ละแผ่นงานจะมีแถวกี่แถวก็ได้
หรือคอลัมน์ cell คือตำแหน่งที่ตำแหน่ง
ของแถวและคอลัมน์ใดคอลัมน์หนึ่ง และอาจมีค่าข้อมูล
Google Sheets API นำเสนอ
spreadsheets.values
เพื่อใช้การอ่านและการเขียนค่า
หน้านี้อธิบายข้อมูลเบื้องต้นในการใช้แหล่งข้อมูล spreadsheets.values
ถ้า
คุณต้องแทรกแถวหรืออัปเดตการจัดรูปแบบและคุณสมบัติอื่นๆ ใน
คุณต้องใช้เมธอด
spreadsheets.batchUpdate
ซึ่งอธิบายไว้ในอัปเดตสเปรดชีต
เมธอด
ทรัพยากร spreadsheets.values
มีวิธีการอ่านและการเขียนค่าต่อไปนี้ แต่ละวิธีใช้สำหรับ
งานที่เจาะจง:
การเข้าถึงช่วง | การอ่าน | การเขียน |
---|---|---|
ช่วงเดียว | spreadsheets.values.get |
spreadsheets.values.update |
หลายช่วง | spreadsheets.values.batchGet |
spreadsheets.values.batchUpdate |
การเพิ่ม | spreadsheets.values.append |
โดยทั่วไป คุณควรรวมการอ่านหรือการอัปเดตหลายๆ ครั้งร่วมกับ
batchGet
และ batchUpdate
เมธอด (ตามลำดับ) เนื่องจากจะปรับปรุง
ที่มีประสิทธิภาพ
ดูตัวอย่างของแต่ละวิธีได้ที่บทความพื้นฐาน การอ่านและพื้นฐาน การเขียนหน้าตัวอย่าง หากต้องการดูตัวอย่างทั้งหมด โปรดดู ไปยังหน้าภาพรวมตัวอย่าง
อ่าน
หากต้องการอ่านค่าข้อมูลจากชีต คุณต้องใช้รหัสสเปรดชีตและ A1
สำหรับช่วง การระบุช่วงโดยไม่มีรหัสชีต (A1:B2
)
หมายความว่าคำขอจะทำงานในชีตแรกในสเปรดชีต สำหรับข้อมูลเพิ่มเติม
ข้อมูลเกี่ยวกับรหัสสเปรดชีตและสัญลักษณ์ A1 โปรดดู Google Sheets API
ภาพรวม
พารามิเตอร์การค้นหาที่ไม่บังคับหลายรายการจะควบคุมรูปแบบของเอาต์พุต ดังนี้
พารามิเตอร์รูปแบบ | ค่าเริ่มต้น |
---|---|
majorDimension |
แถว |
valueRenderOption |
FORMATTED_VALUE |
dateTimeRenderOption |
SERIAL_NUMBER |
โปรดทราบว่าคุณควรใช้ dateTimeRenderOption
ก็ต่อเมื่อ valueRenderOption
ไม่ใช่ FORMATTED_VALUE
เราไม่มีการจำกัดจำนวนข้อมูลที่ส่งคืนอย่างชัดเจน ข้อผิดพลาดจะไม่แสดงข้อมูล และละเว้นแถวและคอลัมน์ปิดท้ายที่ว่างเปล่า
ด้านล่างนี้จะอธิบายวิธีการรับแบบเอกพจน์และแบบกลุ่ม สำหรับตัวอย่างแบบพื้นฐาน การดำเนินการอ่าน ให้ดูที่การอ่านพื้นฐาน
อ่านช่วงเดียว
หากต้องการอ่านค่าช่วงเดียวจากสเปรดชีต ให้ใช้พารามิเตอร์
spreadsheets.values.get
คำขอ:
Apps Script
Java
JavaScript
Node.js
PHP
Python
Ruby
การตอบกลับคำขอนี้จะแสดงผลเป็น
ValueRange
ออบเจ็กต์
อ่านหลายช่วง
หากต้องการอ่านช่วงค่าหลายช่วงที่ไม่ต่อเนื่องกันจากสเปรดชีต ให้ใช้พารามิเตอร์
spreadsheets.values.batchGet
ที่ให้คุณระบุหลายช่วงเพื่อดึงข้อมูล
Apps Script
Java
JavaScript
Node.js
PHP
Python
Ruby
การตอบกลับคำขอนี้จะแสดงผลเป็น
BatchGetValuesResponse
ที่มี spreadsheetId
และรายการของ
ValueRange
ออบเจ็กต์
เขียน
คุณต้องใช้รหัสสเปรดชีตซึ่งเป็นช่วงของเซลล์ใน A1 เพื่อเขียนในชีต และข้อมูลที่คุณต้องการเขียนภายในส่วนเนื้อหาของคำขอที่เหมาะสม ออบเจ็กต์ ดูข้อมูลเพิ่มเติมเกี่ยวกับรหัสสเปรดชีตและรูปแบบ A1 ได้ที่ ภาพรวมของ Google Sheets API
การอัปเดตต้องมีรหัสที่ถูกต้อง
ValueInputOption
สำหรับการอัปเดตรายการเดียว นี่คือพารามิเตอร์การค้นหาที่จำเป็น สำหรับการอัปเดตเป็นกลุ่ม
ต้องระบุพารามิเตอร์นี้ในส่วนเนื้อหาของคำขอ ตัวควบคุม ValueInputOption
วิธีการตีความข้อมูลอินพุตและการแยกวิเคราะห์สตริงอินพุตหรือ
ไม่ได้ ตามที่อธิบายไว้ในตารางต่อไปนี้
ValueInputOption |
คำอธิบาย |
---|---|
RAW |
อินพุตไม่ได้รับการแยกวิเคราะห์และแทรกเป็นสตริง ตัวอย่างเช่น อินพุต "=1+2" วางสตริง ไม่ใช่สูตร "=1+2" ในเซลล์ (ค่าที่ไม่ใช่สตริง เช่น บูลีนหรือตัวเลข จะได้รับการจัดการเป็น RAW เสมอ) |
USER_ENTERED |
ข้อมูลที่ป้อนจะได้รับการแยกวิเคราะห์เหมือนกับที่ป้อนลงใน UI ของชีต เช่น "1 มีนาคม 2016" กลายเป็นวันที่ และ "=1+2" จะกลายเป็นสูตร อาจมีการอนุมานรูปแบบด้วย เช่น "$100.15" จะกลายเป็นตัวเลขที่มีการจัดรูปแบบสกุลเงิน |
วิธีการอัปเดตแบบกลุ่มหรือรายการเดียวจะอธิบายไว้ด้านล่าง สำหรับตัวอย่างแบบพื้นฐาน โปรดดูการดำเนินการเขียนได้ในหัวข้อการเขียนขั้นพื้นฐาน
เขียนไปยังช่วงเดียว
ในการเขียนข้อมูลไปยังช่วงเดียว ให้ใช้พารามิเตอร์
spreadsheets.values.update
คำขอ:
Apps Script
Java
JavaScript
Node.js
PHP
Python
Ruby
ส่วนเนื้อหาของคำขออัปเดตต้องเป็น
ValueRange
แม้ว่าช่องที่ต้องระบุเพียงช่องเดียวคือ values
หากระบุ range
ไว้
ต้องตรงกับช่วงใน URL ใน ValueRange
คุณสามารถระบุ
majorDimension
ระบบจะใช้ ROWS
โดยค่าเริ่มต้น ถ้าระบุ COLUMNS
อาร์เรย์ภายในแต่ละรายการจะเป็น
เขียนลงในคอลัมน์แทนที่จะเป็นแถว
เมื่ออัปเดต ระบบจะข้ามค่าที่ไม่มีข้อมูล ในการล้างข้อมูล ให้ใช้ string ("")
เขียนหลายช่วง
ถ้าต้องการเขียนช่วงที่ไม่ต่อเนื่องหลายช่วง คุณสามารถใช้พารามิเตอร์
spreadsheets.values.batchUpdate
คำขอ:
Apps Script
Java
JavaScript
Node.js
PHP
Python
Ruby
เนื้อหาของคำขออัปเดตเป็นกลุ่มต้องเป็น
BatchUpdateValuesRequest
ซึ่งมี ValueInputOption
และรายการของ
ValueRange
ออบเจ็กต์ (1 รายการต่อช่วงที่เขียนแล้ว) ออบเจ็กต์ ValueRange
แต่ละรายการจะระบุออบเจ็กต์ของตัวเอง
range
, majorDimension
และข้อมูลอินพุต
ต่อท้ายค่า
หากต้องการต่อท้ายข้อมูลหลังตารางข้อมูลในชีต ให้ใช้
spreadsheets.values.append
คำขอ:
Apps Script
Java
JavaScript
Node.js
PHP
Python
Ruby
ส่วนเนื้อหาของคำขออัปเดตต้องเป็น
ValueRange
แม้ว่าช่องที่ต้องระบุเพียงช่องเดียวคือ values
หากระบุ range
ไว้
ต้องตรงกับช่วงใน URL ใน ValueRange
คุณสามารถระบุ
majorDimension
ระบบจะใช้ ROWS
โดยค่าเริ่มต้น ถ้าระบุ COLUMNS
อาร์เรย์ภายในแต่ละรายการจะเป็น
เขียนลงในคอลัมน์แทนที่จะเป็นแถว
ระบบจะใช้ช่วงอินพุตเพื่อค้นหาข้อมูลที่มีอยู่และหา "ตาราง" ภายใน
ในช่วงดังกล่าว ระบบจะเพิ่มค่าต่อท้ายแถวถัดไปของตาราง โดยเริ่มต้นด้วย
คอลัมน์แรกของตาราง ตัวอย่างเช่น ลองพิจารณา Sheet1
ที่มีลักษณะดังนี้
A | ข | C | D | E | |
1 | x | y | z | ||
2 | x | y | z | ||
3 | |||||
4 | x | y | |||
5 | y | z | |||
6 | x | y | z | ||
7 |
ในชีตจะมีตาราง 2 ตาราง ได้แก่ A1:C2
และ B4:D6
ค่าต่อท้ายจะ
เริ่มต้นที่ B7
สำหรับอินพุต range
ต่อไปนี้ทั้งหมด
Sheet1
เนื่องจากจะตรวจสอบข้อมูลทั้งหมดในชีตและระบุ ว่าตารางที่B4:D6
เป็นตารางสุดท้ายB4
หรือC5:D5
เพราะทั้งคู่อยู่ในตารางB4:D6
B2:D4
เนื่องจากตารางสุดท้ายในช่วงคือตารางB4:D6
(แม้จะมีตารางA1:C2
ด้วยเช่นกัน)A3:G10
เนื่องจากตารางสุดท้ายในช่วงคือตารางB4:D6
(แม้ว่าจะเริ่มต้นก่อนและหลังจากไป)
อินพุต range
ต่อไปนี้ไม่เริ่มเขียนที่ B7
:
A1
จะเริ่มเขียนที่A3
เพราะอยู่ในตารางA1:C2
E4
จะเริ่มเขียนที่E4
เนื่องจากไม่อยู่ในตารางใดเลย (A4
จะเริ่มเขียนเวลาA4
ด้วยเหตุผลเดียวกัน)
นอกจากนี้ คุณยังสามารถเลือกว่าต้องการเขียนทับข้อมูลที่มีอยู่หลังจาก
หรือแทรกแถวใหม่ให้กับข้อมูลใหม่ โดยค่าเริ่มต้น อินพุตจะเขียนทับข้อมูล
หลังตาราง ในการเขียนข้อมูลใหม่ลงในแถวใหม่ ให้ใช้เมธอด
InsertDataOption
และระบุ insertDataOption=INSERT_ROWS
โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับขีดจํากัดของเซลล์และแถวในชีตที่หัวข้อ ไฟล์ที่คุณเก็บไว้ใน Google ไดรฟ์ได้