গুগল শিটস এপিআই আপনাকে স্প্রেডশিটের ডেটা বিভিন্ন উপায়ে পরিচালনা করার সুযোগ দেয়। শিটস ইউআই ব্যবহারকারীদের জন্য উপলব্ধ বেশিরভাগ কার্যকারিতাই শিটস এপিআই দিয়েও করা সম্ভব। এই পৃষ্ঠার উদাহরণগুলো দেখায় যে, কীভাবে আপনি শিটস এপিআই ব্যবহার করে কিছু সাধারণ স্প্রেডশিট অপারেশন সম্পন্ন করতে পারেন।
ভাষা নিরপেক্ষতার জন্য এই উদাহরণগুলো HTTP অনুরোধ আকারে উপস্থাপন করা হয়েছে। গুগল এপিআই ক্লায়েন্ট লাইব্রেরি ব্যবহার করে বিভিন্ন ভাষায় কীভাবে ব্যাচ আপডেট বাস্তবায়ন করতে হয় তা জানতে, “স্প্রেডশিট আপডেট করুন” দেখুন।
এই উদাহরণগুলিতে, SPREADSHEET_ID এবং SHEET_ID প্লেসহোল্ডারগুলি নির্দেশ করে যে আপনি কোথায় সেই আইডিগুলি প্রদান করবেন। আপনি স্প্রেডশিট URL-এ স্প্রেডশিট আইডি খুঁজে পেতে পারেন। আপনি spreadsheets.get মেথড ব্যবহার করে শীট আইডি পেতে পারেন। রেঞ্জগুলি A1 নোটেশন ব্যবহার করে নির্দিষ্ট করা হয়। একটি উদাহরণ রেঞ্জ হল Sheet1!A1:D5।
একটি পরিসরে ডেটা যাচাইকরণ প্রয়োগ করুন
নিম্নলিখিত spreadsheets.batchUpdate কোড নমুনাটি দেখায় কিভাবে SetDataValidationRequest ব্যবহার করে A1:D10 রেঞ্জের প্রতিটি সেলে একটি ডেটা ভ্যালিডেশন নিয়ম (যেখানে "value > 5") প্রয়োগ করা যায়।
অনুরোধ প্রোটোকলটি নিচে দেখানো হলো।
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate{
"requests": [
{
"setDataValidation": {
"range": {
"sheetId": SHEET_ID,
"startRowIndex": 0,
"endRowIndex": 10,
"startColumnIndex": 0,
"endColumnIndex": 4
},
"rule": {
"condition": {
"type": "NUMBER_GREATER",
"values": [
{
"userEnteredValue": "5"
}
]
},
"inputMessage": "Value must be > 5",
"strict": true
}
}
}
]
}সেল ফরম্যাটিং কপি ও পেস্ট করুন
নিম্নলিখিত spreadsheets.batchUpdate কোড নমুনাটি দেখায় কিভাবে CopyPasteRequest ব্যবহার করে শুধুমাত্র A1:D10 রেঞ্জের ফরম্যাটিং কপি করে একই শীটের F1:I10 রেঞ্জে পেস্ট করা যায়। এই মেথডটি শুধুমাত্র ফরম্যাটিং এবং ডেটা ভ্যালিডেশন পেস্ট করার জন্য PASTE_FORMAT সহ PasteType enum ব্যবহার করে। A1:D10-এর মূল মানগুলো অপরিবর্তিত থাকে।
অনুরোধ প্রোটোকলটি নিচে দেখানো হলো।
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate{
"requests": [
{
"copyPaste": {
"source": {
"sheetId": SHEET_ID,
"startRowIndex": 0,
"endRowIndex": 10,
"startColumnIndex": 0,
"endColumnIndex": 4
},
"destination": {
"sheetId": SHEET_ID,
"startRowIndex": 0,
"endRowIndex": 10,
"startColumnIndex": 5,
"endColumnIndex": 9
},
"pasteType": "PASTE_FORMAT",
"pasteOrientation": "NORMAL"
}
}
]
}কোষগুলি কেটে পেস্ট করুন
নিম্নলিখিত spreadsheets.batchUpdate কোড নমুনাটি দেখায় কিভাবে CutPasteRequest ব্যবহার করতে হয়। এটি A1:D10 রেঞ্জটি কাটে এবং PASTE_NORMAL সহ PasteType enum ব্যবহার করে এর মান, সূত্র, ফরম্যাটিং এবং মার্জ একই শীটের F1:I10 রেঞ্জে পেস্ট করে। মূল উৎস রেঞ্জের সেলের বিষয়বস্তু মুছে ফেলা হয়।
অনুরোধ প্রোটোকলটি নিচে দেখানো হলো।
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate{
"requests": [
{
"cutPaste": {
"source": {
"sheetId": SHEET_ID,
"startRowIndex": 0,
"endRowIndex": 10,
"startColumnIndex": 0,
"endColumnIndex": 4
},
"destination": {
"sheetId": SHEET_ID,
"rowIndex": 0,
"columnIndex": 5
},
"pasteType": "PASTE_NORMAL"
}
}
]
}একটি পরিসরের উপর একটি সূত্র পুনরাবৃত্তি করুন
নিম্নলিখিত spreadsheets.batchUpdate কোড নমুনাটি দেখায় কিভাবে RepeatCellRequest ব্যবহার করে =FLOOR(A1*PI()) ফর্মুলাটি B1:D10 রেঞ্জে কপি করা যায়। ফর্মুলাটির রেঞ্জ উপরের বাম দিকের সেল থেকে শুরু করে রেঞ্জের প্রতিটি সারি এবং কলামের জন্য স্বয়ংক্রিয়ভাবে বৃদ্ধি পায়। উদাহরণস্বরূপ, B1 সেলে ফর্মুলাটি হলো =FLOOR(A1*PI()) , যেখানে D6 সেলে ফর্মুলাটি হলো =FLOOR(C6*PI()) ।
অনুরোধ প্রোটোকলটি নিচে দেখানো হলো।
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate{
"requests": [
{
"repeatCell": {
"range": {
"sheetId": SHEET_ID,
"startRowIndex": 0,
"endRowIndex": 10,
"startColumnIndex": 1,
"endColumnIndex": 4
},
"cell": {
"userEnteredValue": {
"formulaValue": "=FLOOR(A1*PI())"
}
},
"fields": "userEnteredValue"
}
}
]
}একাধিক সাজানোর নির্দিষ্টকরণ সহ একটি পরিসর সাজান
নিম্নলিখিত spreadsheets.batchUpdate কোড নমুনাটি দেখায় কিভাবে SortRangeRequest ব্যবহার করে A1:D10 রেঞ্জটিকে প্রথমে কলাম B অনুসারে আরোহী ক্রমে, তারপর কলাম C অনুসারে অবরোহী ক্রমে এবং সবশেষে কলাম D অনুসারে অবরোহী ক্রমে সাজানো যায়।
অনুরোধ প্রোটোকলটি নিচে দেখানো হলো।
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate{
"requests": [
{
"sortRange": {
"range": {
"sheetId": SHEET_ID,
"startRowIndex": 0,
"endRowIndex": 10,
"startColumnIndex": 0,
"endColumnIndex": 4
},
"sortSpecs": [
{
"dimensionIndex": 1,
"sortOrder": "ASCENDING"
},
{
"dimensionIndex": 2,
"sortOrder": "DESCENDING"
},
{
"dimensionIndex": 3,
"sortOrder": "DESCENDING"
}
]
}
}
]
}