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

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

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

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

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

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

A B C D
1 รายการ ค่าใช้จ่าย มีในสต็อก วันที่จัดส่ง
2 ตั๋วขึ้นชิงช้าสวรรค์ 205.00 THB 4 1/3/2016
3 ประตู $15 2 15/3/2016
4 เครื่องยนต์ $100 1 20/3/2016
5 ผลรวม 135.50 THB 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": [
        [...],
        [...]
      ]
    }
  ]
}