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

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

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

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

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

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

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

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 कोड के सैंपल में बताया गया है कि CopyPasteRequest का इस्तेमाल करके, सिर्फ़ A1:D10 रेंज की फ़ॉर्मैटिंग को कॉपी करके, उसी शीट की F1:I10 रेंज में कैसे चिपकाया जाता है. इस तरीके में, सिर्फ़ फ़ॉर्मैटिंग और डेटा की पुष्टि चिपकाने के लिए, PASTE_FORMAT के साथ PasteType enum का इस्तेमाल किया जाता है. 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 रेंज को कट करता है और PasteType enum का इस्तेमाल करता है. साथ ही, PASTE_NORMAL के साथ इसकी वैल्यू, फ़ॉर्मूले, फ़ॉर्मैटिंग, और मर्ज किए गए सेल को उसी शीट में 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"
          }
        ]
      }
    }
  ]
}