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

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

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

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

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

यहां दिए गए spreadsheets.batchUpdate कोड सैंपल में, डेटा की पुष्टि करने के नियम को लागू करने के लिए SetDataValidationRequest का इस्तेमाल करने का तरीका बताया गया है. इसमें A1:D10 की रेंज के हर सेल में "वैल्यू > 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 कोड का सैंपल, सिर्फ़ 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 रेंज को काटता है और 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 कोड सैंपल, B1:D10 फ़ॉर्मूला =FLOOR(A1*PI()) को कॉपी करने के लिए 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 कोड सैंपल में, SortRangeRequest का इस्तेमाल करके कैटगरी A1:D10 को क्रम से लगाने का तरीका बताया गया है. सबसे पहले कॉलम 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"
          }
        ]
      }
    }
  ]
}