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

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

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

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

किसी रेंज पर डेटा की पुष्टि करना

यहां दिया गया spreadsheets.batchUpdate कोड सैंपल में बताया गया है कि A1:D10 रेंज की हर सेल में डेटा पुष्टि करने का नियम लागू करने के लिए, SetDataValidationRequest का इस्तेमाल कैसे किया जाता है. इस नियम में "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:I1 रेंज में चिपकाने के लिए, इस्तेमाल करने का तरीका बताया गया है. I1:I इस तरीके में, सिर्फ़ फ़ॉर्मैटिंग और डेटा की पुष्टि को चिपकाने के लिए, 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 कोड सैंपल से पता चलता है कि RepeatCellRequest फ़ॉर्मूला =FLOOR(A1*PI()) को रेंज B1:D10 में कॉपी करने के लिए, कैसे इस्तेमाल किया जाता है. फ़ॉर्मूला की रेंज में मौजूद हर पंक्ति और कॉलम के लिए अपने-आप बढ़ती जाती है. यह वैल्यू, ऊपर बाएं सेल से शुरू होती है. उदाहरण के लिए, सेल 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 कोड सैंपल से पता चलता है कि SortRangeRequest रेंज A1:D10 का इस्तेमाल कैसे किया जाए. पहले कॉलम B को घटते क्रम में रखें और फिर कॉलम C के हिसाब से घटते क्रम में लगाएं.

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

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