Google Sheets API আপনাকে কোষ, পরিসর, পরিসরের সেট এবং সম্পূর্ণ শীটে মান এবং সূত্র লিখতে দেয়। এই পৃষ্ঠার উদাহরণগুলি Sheets API-এর spreadsheets.values রিসোর্স দিয়ে কীভাবে কিছু সাধারণ লেখার ক্রিয়াকলাপ অর্জন করা যেতে পারে তা দেখায়।
মনে রাখবেন যে spreadsheet.batchUpdate পদ্ধতি ব্যবহার করে কোষের মান লেখাও সম্ভব, যা আপনি যদি একই সাথে কোষের ফর্ম্যাটিং বা অন্যান্য বৈশিষ্ট্য আপডেট করতে চান যা spreadsheets.values রিসোর্স প্রভাবিত করে না, তাহলে কার্যকর হতে পারে। উদাহরণস্বরূপ, যদি আপনি কোষ সূত্র এবং কোষের ফর্ম্যাটিং উভয়ই ওভাররাইট করার সময় এক শীট থেকে অন্য শীটে কোষের একটি পরিসর অনুলিপি করতে চান, তাহলে আপনি spreadsheet.batchUpdate দিয়ে UpdateCellsRequest পদ্ধতি ব্যবহার করতে পারেন।
তবে, সহজ মান লেখার জন্য spreadsheets.values.update পদ্ধতি অথবা spreadsheets.values.batchUpdate পদ্ধতি ব্যবহার করা সহজ।
এই উদাহরণগুলি ভাষা নিরপেক্ষ হওয়ার জন্য HTTP অনুরোধের আকারে উপস্থাপন করা হয়েছে। Google API ক্লায়েন্ট লাইব্রেরি ব্যবহার করে বিভিন্ন ভাষায় লেখা কীভাবে বাস্তবায়ন করতে হয় তা শিখতে, Read & write cell value দেখুন।
এই উদাহরণগুলিতে, স্থানধারক SPREADSHEET_ID নির্দেশ করে যে আপনি কোথায় স্প্রেডশিট আইডি প্রদান করবেন, যা স্প্রেডশিট URL থেকে আবিষ্কার করা যেতে পারে। লেখার জন্য পরিসরগুলি 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,
}ফলাফলের শীটটি দেখতে এরকম দেখাচ্ছে:
| ক | খ | গ | দ | |
| ১ | আইটেম | খরচ | মজুদ আছে | পাঠানোর তারিখ |
| ২ | চাকা | $২০.৫০ | ৪ | ৩/১/২০১৬ |
| ৩ | দরজা | ১৫ ডলার | ২ | ৩/১৫/২০১৬ |
| ৪ | ইঞ্জিন | ১০০ ডলার | ১ | ৩/২০/২০১৬ |
| ৫ | মোট সংখ্যা | $১৩৫.৫ | ৭ | ৩/২০/২০১৬ |
একটি পরিসরে বেছে বেছে লিখুন
কোনও পরিসরে মান লেখার সময়, সংশ্লিষ্ট অ্যারে উপাদানগুলিকে 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,
}ফলাফলের শীটটি দেখতে এরকম দেখাচ্ছে:
| ক | খ | গ | দ | |
| ১ | আইটেম | খরচ | মজুদ আছে | পাঠানোর তারিখ |
| ২ | চাকা | $১.০০ | ৪ | ৪/১/২০১৬ |
| ৩ | দরজা | $২ | ২ | ৪/১৫/২০১৬ |
| ৪ | ইঞ্জিন | ১ | ||
| ৫ | মোট সংখ্যা | $৩.০০ | ৭ | ৪/১৫/২০১৬ |
মনে রাখবেন যে "মোট" সারিটি, যদিও এই অনুরোধ দ্বারা সরাসরি পরিবর্তিত হয়নি, পরিবর্তিত হয় কারণ এর কোষগুলিতে এমন সূত্র রয়েছে যা পরিবর্তিত কোষের উপর নির্ভর করে।
একাধিক পরিসরে লিখুন
একটি ফাঁকা শিট দিয়ে শুরু করে, নিম্নলিখিত spreadsheets.values.batchUpdate কোড নমুনা দেখায় কিভাবে Sheet1!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,
}
],
}ফলাফলের শীটটি দেখতে এরকম দেখাচ্ছে:
| ক | খ | গ | দ | |
| ১ | আইটেম | খরচ | মজুদ আছে | পাঠানোর তারিখ |
| ২ | চাকা | $২০.৫০ | ৪ | ৩/১/২০১৬ |
| ৩ | দরজা | |||
| ৪ | ইঞ্জিন | |||
| ৫ |
পার্সিং ছাড়াই মান লিখুন
একটি ফাঁকা শিট দিয়ে শুরু করে, নিম্নলিখিত 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,
}ফলাফলের শীটটি দেখতে এরকম দেখাচ্ছে:
| ক | খ | গ | দ | ই | |
| ১ | উপাত্ত | ১২৩.৪৫ | সত্য | =সর্বোচ্চ(D2:D4) | ১০ |
| ২ |
মনে রাখবেন যে "TRUE" কেন্দ্রীভূত এবং একটি বুলিয়ান মান, যেখানে "123.45" ডান জাস্টিফাই করা হয়েছে কারণ এটি একটি সংখ্যা, এবং "10" জাস্টিফাই করা হয়েছে কারণ এটি একটি স্ট্রিং। সূত্রটি পার্স করা হয়নি, এবং এটি একটি স্ট্রিং হিসাবেও প্রদর্শিত হয়।
মান যোগ করুন
নিচের টেবিলের মতো একটি শীট দিয়ে শুরু করুন:
| ক | খ | গ | দ | |
| ১ | আইটেম | খরচ | মজুদ আছে | পাঠানোর তারিখ |
| ২ | চাকা | $২০.৫০ | ৪ | ৩/১/২০১৬ |
| ৩ |
নিম্নলিখিত spreadsheets.values.append কোড নমুনাটি দেখায় যে কীভাবে ৩য় সারি থেকে শুরু করে দুটি নতুন সারি মানের যোগ করতে হয়। 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,
}
}ফলাফলের শীটটি দেখতে এরকম দেখাচ্ছে:
| ক | খ | গ | দ | |
| ১ | আইটেম | খরচ | মজুদ আছে | পাঠানোর তারিখ |
| ২ | চাকা | $২০.৫০ | ৪ | ৩/১/২০১৬ |
| ৩ | দরজা | ১৫ ডলার | ২ | ৩/১৫/২০১৬ |
| ৪ | ইঞ্জিন | ১০০ ডলার | ১ | ৩/২০/২০১৬ |
| ৫ |