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

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

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

ในตัวอย่างต่อไปนี้ ตัวยึดตำแหน่ง SPREADSHEET_ID และ SHEET_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 จะกำหนดตำแหน่งที่จะย้ายข้อมูลแหล่งที่มาโดยใช้ดัชนีเริ่มต้นแบบศูนย์

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

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
      }
    },
  ],
}