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

Google ชีต API ช่วยให้คุณเพิ่ม นำออก และจัดการแถวและคอลัมน์ใน ชีตได้ ตัวอย่างในหน้านี้แสดงให้เห็นว่าการดำเนินการกับแถวและคอลัมน์ ที่พบบ่อยบางอย่างสามารถทำได้ด้วยชีต 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 จะบอกให้ชีต 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
      }
    },
  ],
}