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

Google ชีต 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 จะกำหนดตำแหน่งที่จะย้ายข้อมูลต้นทางโดยใช้ดัชนีเริ่มต้นแบบ 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
      }
    },
  ],
}