इस दस्तावेज़ में, spreadsheets.values रिसॉर्स को इस्तेमाल करने के बारे में बुनियादी जानकारी दी गई है.
स्प्रेडशीट में कई शीट हो सकती हैं. हर शीट में कई लाइनें या कॉलम हो सकते हैं. सेल, किसी खास लाइन और कॉलम के इंटरसेक्शन पर मौजूद होती है. इसमें डेटा वैल्यू हो सकती है. Google Sheets API, वैल्यू को पढ़ने और लिखने की सुविधा चालू करने के लिए spreadsheets.values संसाधन उपलब्ध कराता है.
अगर आपको किसी शीट में लाइनें जोड़नी हैं या फ़ॉर्मैटिंग और अन्य प्रॉपर्टी अपडेट करनी हैं, तो आपको spreadsheets रिसॉर्स के batchUpdate तरीके का इस्तेमाल करना होगा. इसके बारे में स्प्रेडशीट अपडेट करना लेख में बताया गया है.
संसाधन के तरीके
spreadsheets.values संसाधन, वैल्यू को पढ़ने और लिखने के लिए ये तरीके उपलब्ध कराता है. हर तरीका किसी खास काम के लिए होता है:
| रेंज ऐक्सेस करने की सुविधा | रीडिंग | लेखन |
|---|---|---|
| एक रेंज | spreadsheets.values.get |
spreadsheets.values.update |
| एक से ज़्यादा रेंज | spreadsheets.values.batchGet |
spreadsheets.values.batchUpdate |
| जोड़ना | spreadsheets.values.append |
आम तौर पर, कई रीड या अपडेट को batchGet और batchUpdate तरीकों (क्रम से) के साथ जोड़ना बेहतर होता है. इससे परफ़ॉर्मेंस बेहतर होती है.
इनमें से हर तरीके के कोड सैंपल, बुनियादी रीडिंग और बुनियादी राइटिंग के सैंपल पेजों पर देखे जा सकते हैं. सभी कोड सैंपल देखने के लिए, सैंपल की खास जानकारी वाले पेज पर जाएं.
सेल की वैल्यू पढ़ना
किसी शीट से डेटा वैल्यू पढ़ने के लिए, आपको स्प्रेडशीट आईडी और रेंज के लिए A1 नोटेशन की ज़रूरत होती है. शीट आईडी (A1:B2) के बिना रेंज तय करने का मतलब है कि अनुरोध, स्प्रेडशीट की पहली शीट पर लागू होगा. स्प्रेडशीट आईडी और A1 नोटेशन के बारे में ज़्यादा जानकारी के लिए, Google Sheets API की खास जानकारी देखें.
कई वैकल्पिक क्वेरी पैरामीटर, आउटपुट के फ़ॉर्मैट को कंट्रोल करते हैं:
| फ़ॉर्मैट पैरामीटर | डिफ़ॉल्ट मान |
|---|---|
majorDimension |
ROWS |
valueRenderOption |
FORMATTED_VALUE |
dateTimeRenderOption |
SERIAL_NUMBER |
ध्यान दें कि आपको dateTimeRenderOption का इस्तेमाल सिर्फ़ तब करना चाहिए, जब valueRenderOption FORMATTED_VALUE न हो.
जवाब में मिले डेटा की कोई तय सीमा नहीं है. गड़बड़ियों की वजह से कोई डेटा नहीं मिलता. आखिर की खाली पंक्तियों और कॉलम को छोड़ दिया जाता है.
सिंगल और बैच गेट के तरीकों के बारे में यहां बताया गया है. पढ़ने की बुनियादी कार्रवाइयों के ज़्यादा कोड सैंपल के लिए, बुनियादी तौर पर पढ़ना देखें.
किसी एक रेंज से वैल्यू पढ़ना
स्प्रेडशीट से वैल्यू की एक रेंज को पढ़ने के लिए, spreadsheets.values.get अनुरोध का इस्तेमाल करें:
Apps Script
Java
JavaScript
Node.js
PHP
Python
Ruby
इस अनुरोध का जवाब, ValueRange ऑब्जेक्ट के तौर पर मिलता है. यह spreadsheets.values संसाधन का हिस्सा होता है.
एक से ज़्यादा रेंज से वैल्यू पढ़ना
स्प्रेडशीट से वैल्यू की कई अलग-अलग रेंज को पढ़ने के लिए, spreadsheets.values.batchGet अनुरोध का इस्तेमाल करें. इससे आपको वापस पाने के लिए कई रेंज तय करने की सुविधा मिलती है:
Apps Script
Java
JavaScript
Node.js
PHP
Python
Ruby
इस अनुरोध का जवाब, BatchGetValuesResponse ऑब्जेक्ट के तौर पर मिलता है. इसमें spreadsheetId और ValueRange ऑब्जेक्ट की सूची शामिल होती है.
सेल की वैल्यू में बदलाव करने की अनुमति दें
किसी शीट में लिखने के लिए, आपको स्प्रेडशीट आईडी, A1 नोटेशन में सेल की रेंज, और वह डेटा चाहिए जिसे आपको अनुरोध के मुख्य हिस्से के ऑब्जेक्ट में लिखना है. स्प्रेडशीट आईडी और A1 नोटेशन के बारे में ज़्यादा जानने के लिए, Google Sheets API की खास जानकारी देखें.
कई क्वेरी पैरामीटर यह कंट्रोल करते हैं कि डेटा कैसे लिखा जाता है और जवाब को कैसे फ़ॉर्मैट किया जाता है:
| पैरामीटर लिखें | डिफ़ॉल्ट मान |
|---|---|
valueInputOption |
(ज़रूरी है) |
includeValuesInResponse |
false |
responseValueRenderOption |
FORMATTED_VALUE |
responseDateTimeRenderOption |
SERIAL_NUMBER |
ज़रूरी valueInputOption पैरामीटर से यह कंट्रोल किया जाता है कि इनपुट डेटा को कैसे समझा जाना चाहिए. (बैच अपडेट के लिए, यह पैरामीटर अनुरोध के मुख्य हिस्से में दिया जाता है.) यहां दी गई टेबल में, इस्तेमाल किए जा सकने वाले विकल्पों के बारे में बताया गया है:
ValueInputOption |
ब्यौरा |
|---|---|
RAW |
इनपुट को पार्स नहीं किया जाता और इसे स्ट्रिंग के तौर पर डाला जाता है. उदाहरण के लिए, "=1+2" इनपुट करने पर, सेल में फ़ॉर्मूले के बजाय स्ट्रिंग "=1+2" दिखती है. (बूलियन या संख्याओं जैसी नॉन-स्ट्रिंग वैल्यू को हमेशा RAW के तौर पर हैंडल किया जाता है.) |
USER_ENTERED |
इनपुट को ठीक उसी तरह से पार्स किया जाता है जैसे Sheets के यूज़र इंटरफ़ेस में डाला गया हो. उदाहरण के लिए, "1 मार्च, 2016" एक तारीख बन जाती है और "=1+2" एक फ़ॉर्मूला बन जाता है. फ़ॉर्मैट का अनुमान भी लगाया जा सकता है. इसलिए, "$100.15" को मुद्रा के फ़ॉर्मैट वाली संख्या में बदल दिया जाता है. |
ध्यान दें कि आपको responseDateTimeRenderOption का इस्तेमाल सिर्फ़ तब करना चाहिए, जब responseValueRenderOption FORMATTED_VALUE न हो.
सिंगल और बैच अपडेट के तरीकों के बारे में यहां बताया गया है. बेसिक राइट ऑपरेशन के ज़्यादा कोड सैंपल के लिए, बेसिक राइटिंग देखें.
किसी एक रेंज में वैल्यू लिखना
किसी एक रेंज में डेटा लिखने के लिए, spreadsheets.values.update अनुरोध का इस्तेमाल करें:
Apps Script
Java
JavaScript
Node.js
PHP
Python
Ruby
अपडेट के अनुरोध का मुख्य हिस्सा, ValueRange ऑब्जेक्ट होना चाहिए. हालांकि, सिर्फ़ values फ़ील्ड को भरना ज़रूरी है. अगर range तय किया गया है, तो यह यूआरएल में मौजूद रेंज से मेल खाना चाहिए. ValueRange में, इसके majorDimension को वैकल्पिक तौर पर तय किया जा सकता है.
डिफ़ॉल्ट रूप से, ROWS का इस्तेमाल किया जाता है. अगर COLUMNS तय किया जाता है, तो हर इनर ऐरे को पंक्ति के बजाय कॉलम में लिखा जाता है.
अपडेट करते समय, ऐसी वैल्यू को छोड़ दिया जाता है जिनमें कोई डेटा नहीं होता. डेटा मिटाने के लिए, खाली स्ट्रिंग ("") का इस्तेमाल करें. spreadsheets.values.batchClear तरीके का इस्तेमाल करके, कई रेंज से वैल्यू भी मिटाई जा सकती हैं. इसके लिए, उन्हें बदलने की ज़रूरत नहीं होती.
अगर डेवलपर मेटाडेटा का इस्तेमाल किया जा रहा है, तो डेवलपर मेटाडेटा गाइड देखें. इसमें spreadsheets.values.batchGetByDataFilter, spreadsheets.values.batchUpdateByDataFilter, और spreadsheets.values.batchClearByDataFilter तरीकों का इस्तेमाल करके, वैल्यू को पढ़ने, अपडेट करने या मिटाने के लिए, डेटा फ़िल्टर इस्तेमाल करने के बारे में जानकारी दी गई है.
एक से ज़्यादा रेंज में वैल्यू लिखना
अगर आपको कई अलग-अलग रेंज लिखनी हैं, तो spreadsheets.values.batchUpdate अनुरोध का इस्तेमाल करें:
Apps Script
Java
JavaScript
Node.js
PHP
Python
Ruby
बैच अपडेट के अनुरोध का मुख्य हिस्सा, BatchUpdateValuesRequest ऑब्जेक्ट होना चाहिए. इसमें ValueInputOption और ValueRange ऑब्जेक्ट की सूची होती है. हर ऑब्जेक्ट, लिखी गई रेंज के लिए होता है. हर ValueRange ऑब्जेक्ट, अपने range, majorDimension, और इनपुट डेटा के बारे में बताता है.
वैल्यू जोड़ना
किसी शीट में डेटा की टेबल के बाद डेटा जोड़ने के लिए, spreadsheets.values.append अनुरोध का इस्तेमाल करें:
Apps Script
Java
JavaScript
Node.js
PHP
Python
Ruby
अपडेट के अनुरोध का मुख्य हिस्सा, ValueRange ऑब्जेक्ट होना चाहिए. हालांकि, सिर्फ़ values फ़ील्ड को भरना ज़रूरी है. अगर range तय किया गया है, तो यह यूआरएल में मौजूद रेंज से मेल खाना चाहिए. ValueRange में, इसके majorDimension को वैकल्पिक तौर पर तय किया जा सकता है.
डिफ़ॉल्ट रूप से, ROWS का इस्तेमाल किया जाता है. अगर COLUMNS तय किया जाता है, तो हर इनर ऐरे को पंक्ति के बजाय कॉलम में लिखा जाता है.
इनपुट रेंज का इस्तेमाल, मौजूदा डेटा को खोजने और उस रेंज में "टेबल" ढूंढने के लिए किया जाता है. वैल्यू को टेबल की अगली लाइन में जोड़ दिया जाता है. यह टेबल के पहले कॉलम से शुरू होता है. उदाहरण के लिए, Sheet1 को इस तरह से देखें:
| A | B | C | D | E | |
| 1 | x | y | z | ||
| 2 | x | y | z | ||
| 3 | |||||
| 4 | x | y | |||
| 5 | y | z | |||
| 6 | x | y | z | ||
| 7 |
शीट में दो टेबल हैं: A1:C2 और B4:D6. जोड़ी गई वैल्यू, यहां दी गई सभी range इनपुट के लिए B7 से शुरू होंगी:
Sheet1, क्योंकि यह शीट में मौजूद सभी डेटा की जांच करेगा और यह तय करेगा किB4:D6पर मौजूद टेबल, आखिरी टेबल है.B4याC5:D5, क्योंकि ये दोनोंB4:D6टेबल में हैं.B2:D4, क्योंकि रेंज में मौजूद आखिरी टेबलB4:D6टेबल है. भले ही, इसमेंA1:C2टेबल भी शामिल हो.A3:G10, क्योंकि रेंज में मौजूद आखिरी टेबलB4:D6टेबल है. भले ही, यह टेबल टेबल से पहले शुरू हुई हो और बाद में खत्म हुई हो.
नीचे दिए गए range इनपुट, B7 पर लिखना शुरू नहीं करेंगे:
A1,A3से लिखना शुरू करेगा, क्योंकि यहA1:C2टेबल में है.E4,E4से लिखना शुरू करेगा, क्योंकि यह किसी टेबल में नहीं है. (A4भी इन्हीं वजहों सेA4पर लिखना शुरू कर देगा.)
इसके अलावा, आपके पास यह चुनने का विकल्प होता है कि टेबल में नया डेटा जोड़ने के बाद, मौजूदा डेटा को बदलना है या नए डेटा के लिए नई पंक्तियां जोड़नी हैं. डिफ़ॉल्ट रूप से, टेबल के बाद इनपुट किया गया डेटा, पुराने डेटा की जगह ले लेता है. नई पंक्तियों में नया डेटा लिखने के लिए, InsertDataOption का इस्तेमाल करें और insertDataOption=INSERT_ROWS तय करें.
Sheets में सेल और लाइन की सीमाओं के बारे में ज़्यादा जानने के लिए, Google Drive में स्टोर की जा सकने वाली फ़ाइलें लेख पढ़ें.