স্প্রেডশীটে একাধিক শীট থাকতে পারে, প্রতিটি শীটে যেকোন সংখ্যক সারি বা কলাম থাকতে পারে। একটি সেল হল একটি নির্দিষ্ট সারি এবং কলামের সংযোগস্থলে অবস্থিত একটি অবস্থান এবং এতে একটি ডেটা মান থাকতে পারে। Google পত্রক API মানগুলির পড়া এবং লেখা সক্ষম করার জন্য spreadsheets.values সম্পদ প্রদান করে৷
এই পৃষ্ঠাটি spreadsheets.values সম্পদ ব্যবহার করার মূল বিষয়গুলি বর্ণনা করে৷ আপনি যদি একটি শীটে সারি সন্নিবেশ বা বিন্যাস এবং অন্যান্য বৈশিষ্ট্য আপডেট করতে চান, তাহলে আপনাকে অবশ্যই Update Spreadsheets- এ বর্ণিত 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 পত্রক API ওভারভিউ দেখুন।
বেশ কিছু ঐচ্ছিক ক্যোয়ারী প্যারামিটার আউটপুটের বিন্যাস নিয়ন্ত্রণ করে:
| ফরম্যাট প্যারামিটার | ডিফল্ট মান |
|---|---|
majorDimension | সারি |
valueRenderOption | FORMATTED_VALUE |
dateTimeRenderOption | SERIAL_NUMBER |
মনে রাখবেন যে আপনার শুধুমাত্র dateTimeRenderOption ব্যবহার করা উচিত যদি valueRenderOption FORMATTED_VALUE না হয়।
ফেরত ডেটার পরিমাণের কোন সুস্পষ্ট সীমা নেই। ত্রুটি কোন তথ্য প্রদান করে না। খালি ট্রেলিং সারি এবং কলাম বাদ দেওয়া হয়েছে৷
একবচন এবং ব্যাচ পাওয়ার পদ্ধতিগুলি নীচে বর্ণিত হয়েছে। বেসিক রিডিং অপারেশনের নমুনার জন্য, বেসিক রিডিং দেখুন।
একটি একক পরিসীমা পড়ুন
একটি স্প্রেডশীট থেকে মানগুলির একটি একক পরিসর পড়তে, একটি spreadsheets.values.get অনুরোধ ব্যবহার করুন:
অ্যাপস স্ক্রিপ্ট
জাভা
জাভাস্ক্রিপ্ট
Node.js
পিএইচপি
পাইথন
রুবি
এই অনুরোধের প্রতিক্রিয়া একটি ValueRange অবজেক্ট হিসাবে ফেরত দেওয়া হয়।
একাধিক রেঞ্জ পড়ুন
একটি স্প্রেডশীট থেকে মানগুলির একাধিক, অবিচ্ছিন্ন পরিসর পড়তে, একটি spreadsheets.values.batchGet অনুরোধ ব্যবহার করুন যা আপনাকে পুনরুদ্ধার করার জন্য বেশ কয়েকটি ব্যাপ্তি নির্দিষ্ট করতে দেয়:
অ্যাপস স্ক্রিপ্ট
জাভা
জাভাস্ক্রিপ্ট
Node.js
পিএইচপি
পাইথন
রুবি
এই অনুরোধের প্রতিক্রিয়া একটি BatchGetValuesResponse অবজেক্ট হিসাবে ফেরত দেওয়া হয় যাতে spreadsheetId এবং ValueRange অবজেক্টের একটি তালিকা থাকে।
লিখুন
একটি শীটে লিখতে, আপনার স্প্রেডশীট আইডি, A1 স্বরলিপিতে কক্ষের পরিসর এবং একটি উপযুক্ত অনুরোধের বডি অবজেক্টের মধ্যে আপনি যে ডেটা লিখতে চান তা প্রয়োজন৷ স্প্রেডশীট আইডি এবং A1 স্বরলিপি সম্পর্কে আরও তথ্যের জন্য, Google পত্রক API ওভারভিউ দেখুন।
আপডেটের জন্য একটি বৈধ ValueInputOption প্যারামিটার প্রয়োজন। একক আপডেটের জন্য, এটি একটি প্রয়োজনীয় ক্যোয়ারী প্যারামিটার। ব্যাচ আপডেটের জন্য, অনুরোধের বডিতে এই প্যারামিটারটি প্রয়োজন। ValueInputOption নিয়ন্ত্রণ করে কিভাবে ইনপুট ডেটা ব্যাখ্যা করা উচিত এবং ইনপুট স্ট্রিংগুলিকে পার্স করা হয়েছে কি না, নিম্নলিখিত টেবিলে বর্ণনা করা হয়েছে:
ValueInputOption | বর্ণনা |
|---|---|
RAW | ইনপুট পার্স করা হয় না এবং একটি স্ট্রিং হিসাবে ঢোকানো হয়। উদাহরণস্বরূপ, ইনপুট "=1+2" স্ট্রিংটি রাখে, সূত্র নয়, "=1+2" ঘরে। (বুলিয়ান বা সংখ্যার মতো নন-স্ট্রিং মানগুলি সর্বদা RAW হিসাবে পরিচালনা করা হয়।) |
USER_ENTERED | ইনপুটটি ঠিক এমনভাবে পার্স করা হয়েছে যেন এটি শীট UI-তে প্রবেশ করা হয়েছে৷ উদাহরণস্বরূপ, "মার্চ 1 2016" একটি তারিখে পরিণত হয় এবং "=1+2" একটি সূত্রে পরিণত হয়৷ ফর্ম্যাটগুলিও অনুমান করা যেতে পারে, তাই "$100.15" মুদ্রা বিন্যাস সহ একটি সংখ্যা হয়ে যায়। |
একক এবং ব্যাচ আপডেট পদ্ধতি নীচে বর্ণনা করা হয়েছে. মৌলিক লেখার ক্রিয়াকলাপের নমুনার জন্য, মৌলিক লেখা দেখুন।
একটি একক পরিসরে লিখুন
একটি একক পরিসরে ডেটা লিখতে, একটি spreadsheets.values.update অনুরোধ ব্যবহার করুন:
অ্যাপস স্ক্রিপ্ট
জাভা
জাভাস্ক্রিপ্ট
Node.js
পিএইচপি
পাইথন
রুবি
আপডেট অনুরোধের মূল অংশটি অবশ্যই একটি ValueRange অবজেক্ট হতে হবে, যদিও শুধুমাত্র প্রয়োজনীয় ক্ষেত্র হল values । যদি range নির্দিষ্ট করা থাকে, তাহলে সেটি অবশ্যই URL-এ থাকা ব্যাপ্তির সাথে মেলে। ValueRange এ, আপনি ঐচ্ছিকভাবে এর majorDimension নির্দিষ্ট করতে পারেন। ডিফল্টরূপে, ROWS ব্যবহার করা হয়। যদি COLUMNS নির্দিষ্ট করা হয়, প্রতিটি অভ্যন্তরীণ অ্যারে একটি সারির পরিবর্তে একটি কলামে লেখা হয়।
আপডেট করার সময়, কোন ডেটা ছাড়া মানগুলি এড়িয়ে যায়। ডেটা সাফ করতে, একটি খালি স্ট্রিং ("") ব্যবহার করুন।
একাধিক রেঞ্জ লিখুন
আপনি যদি একাধিক বিচ্ছিন্ন রেঞ্জ লিখতে চান, আপনি একটি spreadsheets.values.batchUpdate অনুরোধ ব্যবহার করতে পারেন:
অ্যাপস স্ক্রিপ্ট
জাভা
জাভাস্ক্রিপ্ট
Node.js
পিএইচপি
পাইথন
রুবি
ব্যাচ আপডেট অনুরোধের মূল অংশটি অবশ্যই একটি BatchUpdateValuesRequest অবজেক্ট হতে হবে, যাতে একটি ValueInputOption এবং ValueRange অবজেক্টের একটি তালিকা থাকে (প্রতিটি লিখিত পরিসরের জন্য একটি)। প্রতিটি ValueRange অবজেক্ট তার নিজস্ব range , majorDimension এবং ইনপুট ডেটা নির্দিষ্ট করে।
মান যোগ করুন
একটি শীটে ডেটার টেবিলের পরে ডেটা যুক্ত করতে, একটি spreadsheets.values.append অনুরোধ ব্যবহার করুন:
অ্যাপস স্ক্রিপ্ট
জাভা
জাভাস্ক্রিপ্ট
Node.js
পিএইচপি
পাইথন
রুবি
আপডেট অনুরোধের মূল অংশটি অবশ্যই একটি ValueRange অবজেক্ট হতে হবে, যদিও শুধুমাত্র প্রয়োজনীয় ক্ষেত্র হল values । যদি range নির্দিষ্ট করা থাকে, তাহলে সেটি অবশ্যই URL-এ থাকা ব্যাপ্তির সাথে মেলে। ValueRange এ, আপনি ঐচ্ছিকভাবে এর majorDimension নির্দিষ্ট করতে পারেন। ডিফল্টরূপে, ROWS ব্যবহার করা হয়। যদি COLUMNS নির্দিষ্ট করা হয়, প্রতিটি অভ্যন্তরীণ অ্যারে একটি সারির পরিবর্তে একটি কলামে লেখা হয়।
ইনপুট পরিসীমা বিদ্যমান ডেটা অনুসন্ধান করতে এবং সেই পরিসরের মধ্যে একটি "টেবিল" খুঁজে পেতে ব্যবহৃত হয়। সারণীর প্রথম কলাম থেকে শুরু করে মানগুলি টেবিলের পরবর্তী সারিতে যুক্ত করা হয়। উদাহরণস্বরূপ, Sheet1 বিবেচনা করুন যা দেখতে এইরকম:
| ক | খ | গ | ডি | ই | |
| 1 | x | y | z | ||
| 2 | x | y | z | ||
| 3 | |||||
| 4 | x | y | |||
| 5 | y | z | |||
| 6 | x | y | z | ||
| 7 |
শীটে 2টি টেবিল রয়েছে: 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 এ লেখা শুরু করবে না:
-
A1A3এ লেখা শুরু করবে, কারণ এটিA1:C2টেবিলে আছে। -
E4E4এ লেখা শুরু করবে, কারণ এটি কোনো টেবিলে নেই। (A4একই কারণেA4এ লেখা শুরু করবে।)
উপরন্তু, আপনি একটি টেবিলের পরে বিদ্যমান ডেটা ওভাররাইট করতে চান বা নতুন ডেটার জন্য নতুন সারি সন্নিবেশ করতে চান কিনা তা চয়ন করতে পারেন৷ ডিফল্টরূপে, ইনপুট টেবিলের পরে ডেটা ওভাররাইট করে। নতুন সারিগুলিতে নতুন ডেটা লিখতে, InsertDataOption ব্যবহার করুন এবং insertDataOption=INSERT_ROWS নির্দিষ্ট করুন।
পত্রকগুলিতে সেল এবং সারি সীমা সম্পর্কে আরও জানতে, আপনি Google ড্রাইভে সঞ্চয় করতে পারেন এমন ফাইলগুলি দেখুন৷