डेटा से जुड़ी कार्रवाइयां

Google Sheets API की मदद से, स्प्रेडशीट में मौजूद डेटा को कई तरीकों से मैनेज किया जा सकता है. Sheets के यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करने वाले लोगों के लिए उपलब्ध ज़्यादातर सुविधाएं, Sheets API का इस्तेमाल करके भी की जा सकती हैं. इस पेज पर दिए गए उदाहरणों से पता चलता है कि Sheets API की मदद से, स्प्रेडशीट में कुछ सामान्य कार्रवाइयां कैसे की जा सकती हैं.

ये उदाहरण, एचटीटीपी अनुरोधों के तौर पर दिए गए हैं, ताकि ये किसी भी भाषा के लिए काम कर सकें. Google API क्लाइंट लाइब्रेरी का इस्तेमाल करके, अलग-अलग भाषाओं में एक साथ कई बदलाव करने का तरीका जानने के लिए, स्प्रेडशीट अपडेट करना लेख पढ़ें.

इन उदाहरणों में, प्लेसहोल्डर SPREADSHEET_ID और SHEET_ID से पता चलता है कि आपको ये आईडी कहां देने हैं. स्प्रेडशीट के यूआरएल में, स्प्रेडशीट आईडी देखा जा सकता है. spreadsheets.get तरीके का इस्तेमाल करके, शीट आईडी पाया जा सकता है. रेंज को A1 नोटेशन का इस्तेमाल करके तय किया जाता है. रेंज का उदाहरण, Sheet1!A1:D5 है.

किसी रेंज पर डेटा की पुष्टि करने का नियम लागू करना

यहां दिए गए spreadsheets.batchUpdate कोड सैंपल में, A1:D10 रेंज की हर सेल में "value > 5" वाला डेटा की पुष्टि करने का नियम लागू करने के लिए, SetDataValidationRequest का इस्तेमाल करने का तरीका बताया गया है.

अनुरोध का प्रोटोकॉल नीचे दिया गया है.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "setDataValidation": {
        "range": {
          "sheetId": SHEET_ID,
          "startRowIndex": 0,
          "endRowIndex": 10,
          "startColumnIndex": 0,
          "endColumnIndex": 4
        },
        "rule": {
          "condition": {
            "type": "NUMBER_GREATER",
            "values": [
              {
                "userEnteredValue": "5"
              }
            ]
          },
          "inputMessage": "Value must be > 5",
          "strict": true
        }
      }
    }
  ]
}

सेल फ़ॉर्मैटिंग को कॉपी और चिपकाना

यहां दिए गए spreadsheets.batchUpdate कोड सैंपल में, सिर्फ़ A1:D10 रेंज में मौजूद फ़ॉर्मैटिंग को कॉपी करके, उसी शीट में F1:I10 रेंज में चिपकाने के लिए, CopyPasteRequest का इस्तेमाल करने का तरीका बताया गया है. यह तरीका, सिर्फ़ फ़ॉर्मैटिंग और डेटा की पुष्टि करने के लिए, PASTE_FORMAT के साथ PasteType एनम के इस्तेमाल करता है. A1:D10 में मौजूद ओरिजनल वैल्यू में कोई बदलाव नहीं होता.

अनुरोध का प्रोटोकॉल नीचे दिया गया है.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "copyPaste": {
        "source": {
          "sheetId": SHEET_ID,
          "startRowIndex": 0,
          "endRowIndex": 10,
          "startColumnIndex": 0,
          "endColumnIndex": 4
        },
        "destination": {
          "sheetId": SHEET_ID,
          "startRowIndex": 0,
          "endRowIndex": 10,
          "startColumnIndex": 5,
          "endColumnIndex": 9
        },
        "pasteType": "PASTE_FORMAT",
        "pasteOrientation": "NORMAL"
      }
    }
  ]
}

सेल काटना और चिपकाना

यहां दिए गए spreadsheets.batchUpdate कोड सैंपल में, CutPasteRequest का इस्तेमाल करने का तरीका बताया गया है. यह रेंज A1:D10 को काटता है और PASTE_NORMAL के साथ PasteType एनम का इस्तेमाल करके, अपनी वैल्यू, फ़ॉर्मूला, और फ़ॉर्मैट को चिपकाता है. साथ ही, उसी शीट में F1:I10 रेंज में मर्ज करता है. ओरिजनल सोर्स रेंज की सेल का कॉन्टेंट हटा दिया जाता है.

अनुरोध का प्रोटोकॉल नीचे दिया गया है.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "cutPaste": {
        "source": {
          "sheetId": SHEET_ID,
          "startRowIndex": 0,
          "endRowIndex": 10,
          "startColumnIndex": 0,
          "endColumnIndex": 4
        },
        "destination": {
          "sheetId": SHEET_ID,
          "rowIndex": 0,
          "columnIndex": 5
        },
        "pasteType": "PASTE_NORMAL"
      }
    }
  ]
}

किसी रेंज में फ़ॉर्मूला दोहराना

यहां दिए गए spreadsheets.batchUpdate कोड सैंपल में, =FLOOR(A1*PI()) फ़ॉर्मूला को B1:D10 रेंज में कॉपी करने के लिए, RepeatCellRequest का इस्तेमाल करने का तरीका बताया गया है. फ़ॉर्मूला की रेंज, ऊपर बाईं ओर मौजूद सेल से शुरू होकर, रेंज में मौजूद हर पंक्ति और कॉलम के लिए अपने-आप बढ़ जाती है. उदाहरण के लिए, सेल B1 में फ़ॉर्मूला =FLOOR(A1*PI()) है, जबकि सेल D6 में फ़ॉर्मूला =FLOOR(C6*PI()) है.

अनुरोध का प्रोटोकॉल नीचे दिया गया है.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "repeatCell": {
        "range": {
          "sheetId": SHEET_ID,
          "startRowIndex": 0,
          "endRowIndex": 10,
          "startColumnIndex": 1,
          "endColumnIndex": 4
        },
        "cell": {
          "userEnteredValue": {
              "formulaValue": "=FLOOR(A1*PI())"
          }
        },
        "fields": "userEnteredValue"
      }
    }
  ]
}

क्रम से लगाने के लिए कई शर्तों वाली रेंज को क्रम से लगाना

यहां दिए गए spreadsheets.batchUpdate कोड सैंपल में, रेंज A1:D10 को क्रम से लगाने के लिए, SortRangeRequest का इस्तेमाल करने का तरीका बताया गया है. सबसे पहले, कॉलम B में बढ़ते क्रम में, फिर कॉलम C में घटते क्रम में, और फिर कॉलम D में घटते क्रम में.

अनुरोध का प्रोटोकॉल नीचे दिया गया है.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "sortRange": {
        "range": {
          "sheetId": SHEET_ID,
          "startRowIndex": 0,
          "endRowIndex": 10,
          "startColumnIndex": 0,
          "endColumnIndex": 4
        },
        "sortSpecs": [
          {
            "dimensionIndex": 1,
            "sortOrder": "ASCENDING"
          },
          {
            "dimensionIndex": 2,
            "sortOrder": "DESCENDING"
          },
          {
            "dimensionIndex": 3,
            "sortOrder": "DESCENDING"
          }
        ]
      }
    }
  ]
}