การดำเนินการแถว & คอลัมน์

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

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

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

ปรับความกว้างคอลัมน์หรือความสูงของแถว

ตัวอย่างโค้ดต่อไปนี้ spreadsheets.batchUpdate แสดงวิธีใช้ UpdateDimensionPropertiesRequest เพื่ออัปเดตพร็อพเพอร์ตี้ความกว้างของคอลัมน์ A เป็น 160 พิกเซล คำขอที่ 2 จะอัปเดตพร็อพเพอร์ตี้ความสูงของแถว 3 แถวแรกเป็น 40 พิกเซล ช่อง dimension จะกำหนดว่าการดำเนินการจะใช้กับคอลัมน์หรือแถวของชีต

โปรโตคอลคำขอแสดงไว้ด้านล่าง

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "updateDimensionProperties": {
        "range": {
          "sheetId": SHEET_ID,
          "dimension": "COLUMNS",
          "startIndex": 0,
          "endIndex": 1
        },
        "properties": {
          "pixelSize": 160
        },
        "fields": "pixelSize"
      }
    },
    {
      "updateDimensionProperties": {
        "range": {
          "sheetId": SHEET_ID,
          "dimension": "ROWS",
          "startIndex": 0,
          "endIndex": 3
        },
        "properties": {
          "pixelSize": 40
        },
        "fields": "pixelSize"
      }
    }
  ]
}

เพิ่มแถวหรือคอลัมน์ว่าง

ตัวอย่างโค้ด spreadsheets.batchUpdate ต่อไปนี้แสดงวิธีใช้ AppendDimensionRequest เพื่อเพิ่มแถวและคอลัมน์ คำขอแรกจะเพิ่มแถวว่าง 3 แถวที่ส่วนท้ายของชีต ส่วนคำขอที่ 2 จะเพิ่มคอลัมน์ว่าง 1 คอลัมน์ ช่อง dimension จะกำหนดว่าการดำเนินการจะใช้กับคอลัมน์หรือแถวของชีต

โปรโตคอลคำขอแสดงไว้ด้านล่าง

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "appendDimension": {
        "sheetId": SHEET_ID,
        "dimension": "ROWS",
        "length": 3
      }
    },
    {
      "appendDimension": {
        "sheetId": SHEET_ID,
        "dimension": "COLUMNS",
        "length": 1
      }
    }
  ]
}

ปรับขนาดคอลัมน์โดยอัตโนมัติ

ตัวอย่างโค้ด spreadsheets.batchUpdate ต่อไปนี้แสดงวิธีใช้ AutoResizeDimensionsRequest เพื่อปรับขนาดคอลัมน์ A:C ตามขนาดเนื้อหาของคอลัมน์ ช่อง dimension จะระบุว่าการดำเนินการจะใช้กับคอลัมน์ของชีต

โปรโตคอลคำขอแสดงไว้ด้านล่าง

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "autoResizeDimensions": {
        "dimensions": {
          "sheetId": SHEET_ID,
          "dimension": "COLUMNS",
          "startIndex": 0,
          "endIndex": 3
        }
      }
    }
  ]
}

ปรับขนาดแถวโดยอัตโนมัติ

ตัวอย่างโค้ดต่อไปนี้ spreadsheets.batchUpdate แสดงวิธีใช้ AutoResizeDimensionsRequest เพื่อล้างความสูงของแถว 3 แถวแรก จากนั้นความสูงของแถวจะเพิ่มขึ้นแบบไดนามิกตามเนื้อหาของเซลล์ในแต่ละแถว ช่อง dimension จะระบุว่าการดำเนินการจะใช้กับแถวของชีต

โปรโตคอลคำขอแสดงไว้ด้านล่าง

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "autoResizeDimensions": {
        "dimensions": {
          "sheetId": SHEET_ID,
          "dimension": "ROWS",
          "startIndex": 0,
          "endIndex": 3
        }
      }
    }
  ]
}

ลบแถวหรือคอลัมน์

ตัวอย่างโค้ดต่อไปนี้ spreadsheets.batchUpdate แสดงวิธีใช้ DeleteDimensionRequest เพื่อลบ 3 แถวแรกในชีต คำขอที่ 2 จะลบคอลัมน์ B:D ช่อง dimension จะกำหนดว่าการดำเนินการจะใช้กับคอลัมน์หรือแถวของชีต

โปรโตคอลคำขอแสดงไว้ด้านล่าง

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "deleteDimension": {
        "range": {
          "sheetId": SHEET_ID,
          "dimension": "ROWS",
          "startIndex": 0,
          "endIndex": 3
        }
      }
    },
    {
      "deleteDimension": {
        "range": {
          "sheetId": SHEET_ID,
          "dimension": "COLUMNS",
          "startIndex": 1,
          "endIndex": 4
        }
      }
    },
  ],
}

แทรกแถวหรือคอลัมน์ว่าง

ตัวอย่างโค้ด spreadsheets.batchUpdate ต่อไปนี้แสดงวิธีใช้ InsertDimensionRequest เพื่อแทรกคอลัมน์หรือแถวที่ดัชนีที่เฉพาะเจาะจง (เช่น การเพิ่มแถวว่าง ที่ด้านบนของชีต) คำขอแรกจะแทรกคอลัมน์ว่าง 2 คอลัมน์ที่คอลัมน์ C คำขอที่ 2 จะแทรกแถวว่าง 3 แถวโดยเริ่มจากแถวที่ 1

ช่อง dimension จะกำหนดว่าการดำเนินการจะใช้กับคอลัมน์หรือแถวของชีต

หากเป็นจริง ช่อง inheritFromBefore จะบอกให้ Sheets API กำหนดให้คอลัมน์หรือแถวใหม่มีพร็อพเพอร์ตี้เดียวกับแถวหรือคอลัมน์ก่อนหน้า และหากเป็นเท็จ ให้รับค่ามาจากมิติข้อมูลหลังจากคอลัมน์หรือแถวใหม่ inheritFromBefore จะเป็นจริงไม่ได้หากแทรกแถวที่แถวที่ 1 หรือคอลัมน์ที่คอลัมน์ A

โปรโตคอลคำขอแสดงไว้ด้านล่าง

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "insertDimension": {
        "range": {
          "sheetId": SHEET_ID,
          "dimension": "COLUMNS",
          "startIndex": 2,
          "endIndex": 4
        },
        "inheritFromBefore": true
      }
    },
    {
      "insertDimension": {
        "range": {
          "sheetId": SHEET_ID,
          "dimension": "ROWS",
          "startIndex": 0,
          "endIndex": 3
        },
        "inheritFromBefore": false
      }
    },
  ],
}

ย้ายแถวหรือคอลัมน์

ตัวอย่างโค้ดต่อไปนี้ spreadsheets.batchUpdate แสดงวิธีใช้ MoveDimensionRequest เพื่อย้ายคอลัมน์ A ไปยังตำแหน่งคอลัมน์ D คำขอที่ 2 จะย้ายแถวที่ 5-10 ไปยังตำแหน่งแถวที่ 20

ช่อง dimension จะกำหนดว่าการดำเนินการจะใช้กับคอลัมน์หรือแถวของชีต ช่อง destinationIndex จะกำหนดตำแหน่งที่จะย้ายข้อมูลต้นทางโดยใช้ดัชนีเริ่มต้นที่อิงตาม 0

โปรโตคอลคำขอแสดงไว้ด้านล่าง

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "moveDimension": {
        "source": {
          "sheetId": SHEET_ID,
          "dimension": "COLUMNS",
          "startIndex": 0,
          "endIndex": 1
        },
        "destinationIndex": 3
      }
    },
    {
      "moveDimension": {
        "source": {
          "sheetId": SHEET_ID,
          "dimension": "ROWS",
          "startIndex": 4,
          "endIndex": 10
        },
        "destinationIndex": 19
      }
    },
  ],
}