सामान्य लेखन

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

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

हालांकि, आसान वैल्यू के लिए लिखने के लिए, spreadsheets.values.update तरीके या spreadsheets.values.batchUpdate तरीके का इस्तेमाल करना आसान है.

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

इन उदाहरणों में, प्लेसहोल्डर SPREADSHEET_ID से पता चलता है कि आप स्प्रेडशीट आईडी कहां देंगे, जिसे स्प्रेडशीट के यूआरएल से खोजा जा सकता है. लिखी जाने वाली रेंज को A1 नोटेशन का इस्तेमाल करके तय किया जाता है. उदाहरण के लिए, Sheets1!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 दरवाज़ा हॉन्ग कॉन्ग डॉलर 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 फ़ील्ड यहां रेंज के हर कॉलम में किए गए बदलावों को दिखाता है. पहली अरे से पता चलता है कि null कलेक्शन एलिमेंट की वजह से B1 में कोई बदलाव नहीं होना है, जबकि 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 कोड सैंपल दिखाता है कि Sheets1!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 डेटा डॉलर 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 दरवाज़ा हॉन्ग कॉन्ग डॉलर 2 15/3/2016
4 इंजन 100 डॉलर 1 20/3/2016
5