การอ่านพื้นฐาน

Google Sheets API ช่วยให้คุณอ่านค่าจากเซลล์ ช่วง ชุดช่วง และชีตทั้งหมดได้ ตัวอย่างในหน้านี้แสดงการอ่านข้อมูลที่พบบ่อยบางอย่าง ด้วยทรัพยากร spreadsheets.values นอกจากนี้ คุณยังอ่านค่าเซลล์ได้โดยใช้เมธอด spreadsheets.get แต่โดยปกติแล้ว spreadsheets.values.get หรือ spreadsheets.values.batchGet จะง่ายกว่า

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

ในตัวอย่างเหล่านี้ ตัวยึดตำแหน่ง SPREADSHEET_ID จะระบุตำแหน่งที่คุณ จะระบุรหัสของสเปรดชีต ซึ่งดูได้จาก URL ของสเปรดชีต ระบบจะระบุช่วงที่จะอ่านโดยใช้รูปแบบ A1 ใน URL ของคำขอ ตัวอย่างช่วงคือ Sheet1!A1:D5

ข้อมูลต้นฉบับ

สำหรับตัวอย่างเหล่านี้ ให้ถือว่าสเปรดชีตที่อ่านมีข้อมูลต้นฉบับต่อไปนี้ในชีตแรก ("ชีต1") สตริงในแถวแรกคือป้ายกำกับสำหรับ แต่ละคอลัมน์ หากต้องการดูตัวอย่างวิธีอ่านจากชีตอื่นๆ ใน สเปรดชีต โปรดดูรูปแบบ A1

A C D
1 รายการ ค่าใช้จ่าย จัดเก็บ วันที่จัดส่ง
2 ตั๋วขึ้นชิงช้าสวรรค์ $20.50 4 1/3/2016
3 ประตู $15 2 15/3/2016
4 เครื่องยนต์ $100 1 20/3/2016
5 ผลรวม $135.5 7 20/3/2016

อ่านช่วงเดียว

ตัวอย่างโค้ดต่อไปนี้ spreadsheets.values.get แสดงวิธีอ่านค่าจากช่วง Sheet1!A1:D5 และส่งคืน ค่าเหล่านั้นในการตอบกลับ ระบบจะข้ามแถวและคอลัมน์ต่อท้ายที่ว่างเปล่า

โปรโตคอลคำขอจะแสดงที่นี่

GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/values/Sheet1!A1:D5

การตอบกลับประกอบด้วยออบเจ็กต์ ValueRange ที่อธิบายค่าช่วง ฟิลด์ majorDimension ระบุว่าอาร์เรย์คือรายการค่าที่จัดระเบียบตามแถว

{
  "range": "Sheet1!A1:D5",
  "majorDimension": "ROWS",
  "values": [
    ["Item", "Cost", "Stocked", "Ship Date"],
    ["Wheel", "$20.50", "4", "3/1/2016"],
    ["Door", "$15", "2", "3/15/2016"],
    ["Engine", "$100", "1", "30/20/2016"],
    ["Totals", "$135.5", "7", "3/20/2016"]
  ],
}

อ่านช่วงเดียวที่จัดกลุ่มตามคอลัมน์

ตัวอย่างโค้ดต่อไปนี้ spreadsheets.values.get แสดงวิธีอ่านค่าจากช่วง Sheet1!A1:D3 และส่งคืน ค่าเหล่านั้นในการตอบกลับ แต่จัดกลุ่มตามคอลัมน์ ระบบจะข้ามแถวและคอลัมน์ที่ต่อท้ายซึ่งว่างเปล่า

โปรโตคอลคำขอจะแสดงที่นี่

GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/values/Sheet1!A1:D3?majorDimension=COLUMNS

การตอบกลับประกอบด้วยออบเจ็กต์ ValueRange ที่อธิบายค่าช่วง ฟิลด์ majorDimension ระบุว่าอาร์เรย์คือรายการค่าที่จัดระเบียบตามคอลัมน์

{
  "range": "Sheet1!A1:D3",
  "majorDimension": "COLUMNS",
  "values": [
    ["Item", "Wheel", "Door"],
    ["Cost", "$20.50", "$15"],
    ["Stocked", "4", "2"],
    ["Ship Date", "3/1/2016", "3/15/2016"]
  ],
}

อ่านช่วงเดียวด้วยตัวเลือกการแสดงผล

ตัวอย่างโค้ดต่อไปนี้ spreadsheets.values.get แสดงวิธีอ่านค่าจากช่วง Sheet1!A1:D5 และส่งคืน ค่าเหล่านั้นในการตอบกลับ แต่ใช้ตัวเลือกการแสดงผลเพื่อจัดการวิธีส่งคืนข้อมูล ดังกล่าว การตั้งค่า ValueRenderOption ของ FORMULA แสดงว่าระบบจะแสดงผลสูตรแทนค่าที่คำนวณแล้ว และการตั้งค่า DateTimeRenderOption ของ SERIAL_NUMBER แสดงว่าระบบจะแสดงผลวันที่เป็นตัวเลข นอกจากนี้ คุณยังตั้งค่าอื่นๆ ได้ด้วย ระบบจะข้ามแถวและคอลัมน์ที่ต่อท้ายซึ่งว่างเปล่า

โปรโตคอลคำขอจะแสดงที่นี่

GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/values/Sheet1!A1:D5?
            valueRenderOption=FORMULA&dateTimeRenderOption=SERIAL_NUMBER

การตอบกลับประกอบด้วยออบเจ็กต์ ValueRange ที่อธิบายค่าช่วง ฟิลด์ majorDimension ระบุว่าอาร์เรย์คือรายการค่าที่จัดระเบียบตามแถว

{
  "range": "Sheet1!A1:D5",
  "majorDimension": "ROWS",
  "values": [
    ["Item", "Cost", "Stocked", "Ship Date"],
    ["Wheel", "$20.50", "4", "42430"],
    ["Door", "$15", "2", "42444"],
    ["Engine", "$100", "1", "42449"],
    ["Totals", "=SUM(B2:B4)", "=SUM(C2:C4)", "=MAX(D2:D4)"]
  ],
}

อ่านหลายช่วง

ตัวอย่างโค้ดต่อไปนี้ spreadsheets.values.batchGet แสดงวิธีอ่านค่าจากช่วง Sheet1!B:B และ Sheet1!D:D และ ส่งค่าเหล่านั้นในการตอบกลับ การตั้งค่า ValueRenderOption ของ UNFORMATTED_VALUE แสดงว่ามีการคำนวณค่า แต่ไม่ได้จัดรูปแบบ ในการตอบกลับ ระบบจะข้ามแถวและคอลัมน์ต่อท้ายที่ว่างเปล่า

โปรโตคอลคำขอจะแสดงที่นี่

GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/values:batchGet?
            ranges=Sheet1!B:B&ranges=Sheet1!D:D&valueRenderOption=UNFORMATTED_VALUE&majorDimension=COLUMNS

การตอบกลับการเรียกเมธอดนี้ประกอบด้วยออบเจ็กต์ที่มีรหัสสเปรดชีต และอาร์เรย์ของออบเจ็กต์ ValueRange ที่สอดคล้องกับช่วงที่ขอแต่ละช่วง โดยแสดงตามลำดับที่ขอ ฟิลด์ majorDimension ระบุว่าอาร์เรย์คือรายการค่าที่จัดระเบียบตามคอลัมน์ เช่น

{
  "spreadsheetId": SPREADSHEET_ID,
  "valueRanges": [
    {
      "range": "Sheet1!B1:B1000",
      "majorDimension": "COLUMNS",
      "values": [
        ["Cost",20.5,15,100,135.5]
      ]
    },
    {
      "range": "Sheet1!D1:D1000",
      "majorDimension": "COLUMNS",
      "values": [
        ["Ship Date",42430,42444,42449,42449]
      ]s
    }
  ]
}

อ่านช่วงหลายช่วงในหลายชีต

ตัวอย่างโค้ดต่อไปนี้ spreadsheets.values.batchGet แสดงวิธีอ่านค่าจากช่วงในชีต Sheet1!A1:D5, Products!D1:D100 และ Sales!E4:F6 แล้วส่งค่าเหล่านั้นในการตอบกลับ การตั้งค่า ValueRenderOption ของ UNFORMATTED_VALUE แสดงว่ามีการคำนวณค่า แต่ไม่ได้จัดรูปแบบ ในการตอบกลับ ระบบจะข้ามแถวและคอลัมน์ต่อท้ายที่ว่างเปล่า

โปรโตคอลคำขอจะแสดงที่นี่

GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/values:batchGet?
            ranges=Sheet1!A1:D5&ranges=Products!D1:D100&ranges=Sales!E4:F6&valueRenderOption=UNFORMATTED_VALUE&majorDimension=COLUMNS

การตอบกลับการเรียกเมธอดนี้ประกอบด้วยออบเจ็กต์ที่มีรหัสสเปรดชีต และอาร์เรย์ของออบเจ็กต์ ValueRange ที่สอดคล้องกับช่วงที่ขอแต่ละช่วง โดยแสดงตามลำดับที่ขอ ฟิลด์ majorDimension ระบุว่าอาร์เรย์คือรายการค่าที่จัดระเบียบตามคอลัมน์ เช่น

{
  "spreadsheetId": SPREADSHEET_ID,
  "valueRanges": [
    {
      "range": "Sheet1!A1:D5",
      "majorDimension": "COLUMNS",
      "values": [
        [...],
        [...]
      ]
    },
    {
      "range": "Products!D1:D100",
      "majorDimension": "COLUMNS",
      "values": [
        [...]
      ]
    },
    {
      "range": "Sales!E4:F6",
      "majorDimension": "COLUMNS",
      "values": [
        [...],
        [...]
      ]
    }
  ]
}