सामान्य लेखन

Google Sheets API की मदद से, सेल, रेंज, रेंज के सेट, और पूरी शीट में वैल्यू और फ़ॉर्मूले लिखे जा सकते हैं. इस पेज पर दिए गए उदाहरणों में बताया गया है कि Sheets API के spreadsheets.values संसाधन की मदद से, डेटा लिखने से जुड़ी कुछ सामान्य कार्रवाइयां कैसे की जा सकती हैं.

ध्यान दें कि spreadsheet.batchUpdate वाले तरीके का इस्तेमाल करके, सेल की वैल्यू भी लिखी जा सकती है. यह तरीका तब काम आता है, जब आपको सेल की फ़ॉर्मैटिंग या ऐसी दूसरी प्रॉपर्टी को एक साथ अपडेट करना हो जिस पर spreadsheets.values संसाधन का कोई असर नहीं होता. उदाहरण के लिए, अगर आपको सेल के फ़ॉर्मूले और सेल फ़ॉर्मैटिंग, दोनों को ओवरराइट करते हुए एक शीट से दूसरी शीट में सेल की रेंज कॉपी करनी है, तो UpdateCellsRequest वाले तरीके का इस्तेमाल spreadsheet.batchUpdate के साथ किया जा सकता है.

हालांकि, अगर वैल्यू को आसान तरीके से लिखा जाता है, तो spreadsheets.values.update मेथड या spreadsheets.values.batchUpdate मेथड का इस्तेमाल करना आसान होता है.

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

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

कोई एकल श्रेणी लिखें

नई, खाली स्प्रेडशीट से शुरुआत करते हुए, नीचे दिया गया spreadsheets.values.update कोड सैंपल किसी रेंज में वैल्यू लिखने का तरीका बताता है. ValueInputOption क्वेरी पैरामीटर ज़रूरी है और यह तय करता है कि लिखी गई वैल्यू पार्स की गई हैं या नहीं. उदाहरण के लिए, किसी स्ट्रिंग को तारीख में बदला जाता है या नहीं.

अनुरोध का मुख्य हिस्सा ValueRange ऑब्जेक्ट है, जो लिखने के लिए रेंज वैल्यू की जानकारी देता है. majorDimension फ़ील्ड से पता चलता है कि अरे, पंक्तियों के हिसाब से व्यवस्थित की गई वैल्यू की सूचियां हैं. टारगेट रेंज में मौजूद वैल्यू को ओवरराइट कर दिया जाता है.

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

PUT https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/values/Sheet1!A1:D5?valueInputOption=VALUE_INPUT_OPTION
{
  "range": "Sheet1!A1:D5",
  "majorDimension": "ROWS",
  "values": [
    ["Item", "Cost", "Stocked", "Ship Date"],
    ["Wheel", "$20.50", "4", "3/1/2016"],
    ["Door", "$15", "2", "3/15/2016"],
    ["Engine", "$100", "1", "3/20/2016"],
    ["Totals", "=SUM(B2:B4)", "=SUM(C2:C4)", "=MAX(D2:D4)"]
  ],
}

रिस्पॉन्स में एक UpdateValuesResponse ऑब्जेक्ट शामिल होता है, जैसे कि यह:

{
  "spreadsheetId": SPREADSHEET_ID,
  "updatedRange": "Sheet1!A1:D5",
  "updatedRows": 5,
  "updatedColumns": 4,
  "updatedCells": 20,
}

इससे बनने वाली शीट कुछ ऐसी दिखती है:

जवाब B C D
1 आइटम कीमत स्टॉक में है भेजने की तारीख
2 व्हील 20.50 डॉलर 4 1/3/2016
3 दरवाज़ा $15 2 15/3/2016
4 इंजन $100 1 20/3/2016
5 कुल वैल्यू 135.5 डॉलर 7 20/3/2016

किसी श्रेणी पर चयनात्मक रूप से लिखें

किसी रेंज में वैल्यू लिखते समय, उससे जुड़े अरे एलिमेंट को null पर सेट करके कुछ मौजूदा सेल में बदलाव करने से बचा जा सकता है. किसी सेल में एक खाली स्ट्रिंग ("") लिखकर भी उसे खाली किया जा सकता है.

ऊपर दिए गए उदाहरण से मिले डेटा वाली शीट से शुरुआत करते हुए, नीचे दिए गए spreadsheets.values.update कोड सैंपल में, B1:D4 रेंज में वैल्यू लिखने का तरीका बताया गया है. कुछ सेल में कोई बदलाव नहीं किया गया है और कुछ को मिटाया जा रहा है. ValueInputOption क्वेरी पैरामीटर ज़रूरी है और यह तय करता है कि लिखी गई वैल्यू पार्स की गई हैं या नहीं. उदाहरण के लिए, किसी स्ट्रिंग को तारीख में बदला जाता है या नहीं.

अनुरोध का मुख्य हिस्सा ValueRange ऑब्जेक्ट है, जो लिखने के लिए रेंज वैल्यू की जानकारी देता है. majorDimension फ़ील्ड से पता चलता है कि अरे, कॉलम के हिसाब से व्यवस्थित की गई वैल्यू की सूचियां हैं.

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

PUT https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/values/Sheet1!B1?valueInputOption=VALUE_INPUT_OPTION
{
  "range": "Sheet1!B1",
  "majorDimension": "COLUMNS",
  "values": [
    [null,"$1","$2", ""],
    [],
    [null,"4/1/2016", "4/15/2016", ""]
  ]
}

इस values फ़ील्ड में, रेंज के हर कॉलम में किए गए बदलावों की सूची दी गई है. पहला अरे यह बताता है कि B1 में बदलाव नहीं किया जाना चाहिए (null अरे एलिमेंट की वजह से), जबकि B4 को हटाना है (खाली स्ट्रिंग). B2 और B3 की वैल्यू अपडेट हो चुकी हैं. तीसरी अरे कॉलम D पर भी यही कार्रवाई करती है, जबकि दूसरा खाली अरे यह बताता है कि कॉलम C में कोई बदलाव नहीं किया जाएगा.

रिस्पॉन्स में एक UpdateValuesResponse ऑब्जेक्ट शामिल होता है, जैसे कि यह:

{
  "spreadsheetId": SPREADSHEET_ID,
  "updatedRange": "Sheet1!B1:D5",
  "updatedRows": 3,
  "updatedColumns": 2,
  "updatedCells": 6,
}

इससे बनने वाली शीट कुछ ऐसी दिखती है:

जवाब B C D
1 आइटम कीमत स्टॉक में है भेजने की तारीख
2 व्हील 1.00 डॉलर 4 1/4/2016
3 दरवाज़ा INR90 2 15/4/2016
4 इंजन 1
5 कुल वैल्यू 3.00 डॉलर 7 15/4/2016

ध्यान दें कि इस अनुरोध से सीधे तौर पर नहीं बदली जाने वाली "कुल" पंक्ति में बदलाव होता है, क्योंकि इसकी सेल में बदले गए सेल पर निर्भर फ़ॉर्मूला होते हैं.

एक से ज़्यादा रेंज में लिखें

खाली शीट से शुरू करते हुए, यहां दिया गया spreadsheets.values.batchUpdate कोड सैंपल, Sheets1!A1:A4 और Sheet1!B1:D2 रेंज में वैल्यू लिखने का तरीका बताता है. टारगेट रेंज में मौजूद वैल्यू को ओवरराइट कर दिया जाता है. अनुरोध के मुख्य हिस्से में एक ValueInputOption ऑब्जेक्ट होता है. यह इनपुट डेटा और लिखी गई हर रेंज के हिसाब से ValueRange ऑब्जेक्ट को समझने का तरीका दिखाता है. majorDimension फ़ील्ड से यह तय होता है कि शामिल की गई रेंज को कॉलम या पंक्तियों के तौर पर समझा जाता है या नहीं.

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

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/values:batchUpdate
{
  "valueInputOption": "VALUE_INPUT_OPTION",
  "data": [
    {
      "range": "Sheet1!A1:A4",
      "majorDimension": "COLUMNS",
      "values": [
        ["Item", "Wheel", "Door", "Engine"]
      ]
    },
    {
      "range": "Sheet1!B1:D2",
      "majorDimension": "ROWS",
      "values": [
        ["Cost", "Stocked", "Ship Date"],
        ["$20.50", "4", "3/1/2016"]
      ]
    }
  ]
}

रिस्पॉन्स में एक ऑब्जेक्ट होता है, जो अपडेट किए गए सेल के आंकड़ों की सूची और UpdateValuesResponse ऑब्जेक्ट का कलेक्शन होता है. हर अपडेट की गई रेंज के लिए एक ऑब्जेक्ट होता है. उदाहरण के लिए:

{
  "spreadsheetId": SPREADSHEET_ID,
  "totalUpdatedRows": 4,
  "totalUpdatedColumns": 4,
  "totalUpdatedCells": 10,
  "totalUpdatedSheets": 1,
  "responses": [
    {
      "spreadsheetId": SPREADSHEET_ID,
      "updatedRange": "Sheet1!A1:A4",
      "updatedRows": 4,
      "updatedColumns": 1,
      "updatedCells": 4,
    },
    {
      "spreadsheetId": SPREADSHEET_ID,
      "updatedRange": "Sheet1!B1:D2",
      "updatedRows": 2,
      "updatedColumns": 3,
      "updatedCells": 6,
    }
  ],
}

इससे बनने वाली शीट कुछ ऐसी दिखती है:

जवाब B C D
1 आइटम कीमत स्टॉक में है भेजने की तारीख
2 व्हील 20.50 डॉलर 4 1/3/2016
3 दरवाज़ा
4 इंजन
5

पार्स किए बिना वैल्यू लिखें

खाली शीट से शुरू करते हुए, नीचे दिया गया spreadsheets.values.update कोड सैंपल, Sheet1!A1:E1 की रेंज में वैल्यू लिखने का तरीका दिखाता है. हालांकि, इसमें RAW ValueInputOption क्वेरी पैरामीटर का इस्तेमाल किया जाता है, ताकि लिखी हुई स्ट्रिंग को फ़ॉर्मूला, बूलियन या संख्याओं के तौर पर पार्स न किया जा सके. ये स्ट्रिंग के तौर पर दिखते हैं और शीट में टेक्स्ट अलाइनमेंट दोनों बराबर होता है.

अनुरोध का मुख्य हिस्सा ValueRange ऑब्जेक्ट है, जो लिखने के लिए रेंज वैल्यू की जानकारी देता है. majorDimension फ़ील्ड से पता चलता है कि अरे, पंक्तियों के हिसाब से व्यवस्थित की गई वैल्यू की सूचियां हैं. टारगेट रेंज में मौजूद वैल्यू को ओवरराइट कर दिया जाता है.

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

PUT https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/values/Sheet1!A1:E1?valueInputOption=RAW
{
  "range": "Sheet1!A1:E1",
  "majorDimension": "ROWS",
  "values": [
    ["Data", 123.45, true, "=MAX(D2:D4)", "10"]
  ],
}

रिस्पॉन्स में एक UpdateValuesResponse ऑब्जेक्ट शामिल होता है, जैसे कि यह:

{
  "spreadsheetId": SPREADSHEET_ID,
  "updatedRange": "Sheet1!A1:E1",
  "updatedRows": 1,
  "updatedColumns": 5,
  "updatedCells": 5,
}

इससे बनने वाली शीट कुछ ऐसी दिखती है:

जवाब B C D E
1 डेटा 123.45 TRUE =MAX(D2:D4) 10
2

ध्यान दें कि "TRUE" बीच में है और एक बूलियन वैल्यू है. वहीं, "123.45" एक संख्या होने की वजह से सही है, क्योंकि यह एक स्ट्रिंग है. साथ ही, "10" को बराबर रखा गया है, क्योंकि यह एक स्ट्रिंग है. फ़ॉर्मूला पार्स नहीं किया गया है, यह स्ट्रिंग के तौर पर भी दिखता है.

वैल्यू जोड़ें

नीचे दी गई टेबल जैसी शीट से शुरुआत करें:

जवाब B C D
1 आइटम कीमत स्टॉक में है भेजने की तारीख
2 व्हील 20.50 डॉलर 4 1/3/2016
3

यहां दिया गया spreadsheets.values.append कोड सैंपल, पंक्ति 3 से शुरू होने वाली वैल्यू की दो नई पंक्तियों को जोड़ने का तरीका बताता है. ValueInputOption क्वेरी पैरामीटर ज़रूरी है और यह तय करता है कि लिखी गई वैल्यू पार्स की गई हैं या नहीं. उदाहरण के लिए, किसी स्ट्रिंग को तारीख में बदला जाता है या नहीं.

अनुरोध का मुख्य हिस्सा ValueRange ऑब्जेक्ट है, जो लिखने के लिए रेंज वैल्यू की जानकारी देता है. majorDimension फ़ील्ड से पता चलता है कि अरे, पंक्तियों के हिसाब से व्यवस्थित की गई वैल्यू की सूचियां हैं.

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

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/values/Sheet1!A1:E1:append?valueInputOption=VALUE_INPUT_OPTION
{
  "range": "Sheet1!A1:E1",
  "majorDimension": "ROWS",
  "values": [
    ["Door", "$15", "2", "3/15/2016"],
    ["Engine", "$100", "1", "3/20/2016"],
  ],
}

रिस्पॉन्स में एक AppendValuesResponse ऑब्जेक्ट शामिल होता है, जैसे कि यह:

{
  "spreadsheetId": SPREADSHEET_ID,
  "tableRange": "Sheet1!A1:D2",
  "updates": {
    "spreadsheetId": SPREADSHEET_ID,
    "updatedRange": "Sheet1!A3:D4",
    "updatedRows": 2,
    "updatedColumns": 4,
    "updatedCells": 8,
  }
}

इससे बनने वाली शीट कुछ ऐसी दिखती है:

जवाब B C D
1 आइटम कीमत स्टॉक में है भेजने की तारीख
2 व्हील 20.50 डॉलर 4 1/3/2016
3 दरवाज़ा $15 2 15/3/2016
4 इंजन $100 1 20/3/2016
5