আপনি গুগল শিটস এপিআই (Google Sheets API) ব্যবহার করে স্প্রেডশিটের সেল এবং রেঞ্জের ফরম্যাটিং আপডেট করতে পারেন। এই পৃষ্ঠার উদাহরণগুলিতে দেখানো হয়েছে কীভাবে শিটস এপিআই (Sheets API) দিয়ে কিছু সাধারণ ফরম্যাটিং অপারেশন সম্পন্ন করা যায়। আপনি ‘কন্ডিশনাল ফরম্যাটিং রেসিপি’ (Conditional formatting recipe) পৃষ্ঠায় আরও কন্ডিশনাল ফরম্যাটিং-এর উদাহরণ খুঁজে পেতে পারেন।
একটি স্প্রেডশীট আপডেট করার সময়, কিছু ধরণের অনুরোধ প্রতিক্রিয়া ফেরত দিতে পারে। এগুলো একটি অ্যারেতে ফেরত আসে, যেখানে প্রতিটি প্রতিক্রিয়া সংশ্লিষ্ট অনুরোধের ইন্ডেক্সে অবস্থান করে। কিছু অনুরোধের কোনো প্রতিক্রিয়া থাকে না এবং সেগুলোর ক্ষেত্রে প্রতিক্রিয়াটি খালি থাকে। এই উদাহরণগুলোর প্রতিক্রিয়ার কাঠামো spreadsheets.batchUpdate অধীনে পাওয়া যাবে।
ভাষা নিরপেক্ষতার জন্য এই উদাহরণগুলো HTTP অনুরোধ আকারে উপস্থাপন করা হয়েছে। গুগল এপিআই ক্লায়েন্ট লাইব্রেরি ব্যবহার করে বিভিন্ন ভাষায় কীভাবে ব্যাচ আপডেট বাস্তবায়ন করতে হয় তা জানতে, “স্প্রেডশিট আপডেট করুন” দেখুন।
এই উদাহরণগুলিতে, SPREADSHEET_ID এবং SHEET_ID প্লেসহোল্ডারগুলি নির্দেশ করে যে আপনি কোথায় সেই আইডিগুলি প্রদান করবেন। আপনি স্প্রেডশিট URL-এ স্প্রেডশিট আইডি খুঁজে পেতে পারেন। আপনি spreadsheets.get মেথড ব্যবহার করে শীট আইডি পেতে পারেন। রেঞ্জগুলি A1 নোটেশন ব্যবহার করে নির্দিষ্ট করা হয়। একটি উদাহরণ রেঞ্জ হল Sheet1!A1:D5।
উপরের ভিডিওতে, আপনি স্প্রেডশিটের সেলগুলোকে বিভিন্ন উপায়ে ফরম্যাট করার পদ্ধতি শিখবেন, যার মধ্যে রয়েছে: ফ্রোজেন রো তৈরি করা, সেল বোল্ড করা, কারেন্সি ফরম্যাটিং প্রয়োগ করা, সেল ভ্যালিডেশন করা এবং সেলের মান সীমাবদ্ধ করা।
সেল সীমানা সম্পাদনা করুন
নিম্নলিখিত spreadsheets.batchUpdate কোড নমুনাটি দেখায় কিভাবে UpdateBordersRequest ব্যবহার করে A1:F10 রেঞ্জের প্রতিটি সেলে একটি ড্যাশযুক্ত, নীল রঙের উপরের এবং নীচের বর্ডার দেওয়া যায়। innerHorizontal ফিল্ডটি রেঞ্জের অভ্যন্তরে অনুভূমিক বর্ডার তৈরি করে। এই ফিল্ডটি বাদ দিলে পুরো রেঞ্জটির কেবল উপরে এবং নীচে বর্ডার যুক্ত হবে।
অনুরোধ প্রোটোকলটি নিচে দেখানো হলো।
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
"requests": [
{
"updateBorders": {
"range": {
"sheetId": SHEET_ID,
"startRowIndex": 0,
"endRowIndex": 10,
"startColumnIndex": 0,
"endColumnIndex": 6
},
"top": {
"style": "DASHED",
"width": 1,
"color": {
"blue": 1.0
},
},
"bottom": {
"style": "DASHED",
"width": 1,
"color": {
"blue": 1.0
},
},
"innerHorizontal": {
"style": "DASHED",
"width": 1,
"color": {
"blue": 1.0
},
},
}
}
]
}হেডার সারি ফরম্যাট করুন
নিম্নলিখিত spreadsheets.batchUpdate কোড নমুনাটি দেখায় কিভাবে একটি শীটের হেডার সারি ফরম্যাট করার জন্য RepeatCellRequest ব্যবহার করতে হয়। প্রথম অনুরোধটি টেক্সটের রঙ, ব্যাকগ্রাউন্ডের রঙ, টেক্সটের ফন্ট সাইজ এবং টেক্সট জাস্টিফিকেশন আপডেট করে এবং টেক্সটকে বোল্ড করে। range ফিল্ডে কলাম ইনডেক্সগুলো বাদ দিলে পুরো সারিটি ফরম্যাট হয়ে যায়। দ্বিতীয় অনুরোধটি শীটের প্রোপার্টিগুলো এমনভাবে সমন্বয় করে যাতে হেডার সারিটি স্থির (frozen) থাকে।
অনুরোধ প্রোটোকলটি নিচে দেখানো হলো।
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{ "requests": [ { "repeatCell": { "range": { "sheetId": SHEET_ID, "startRowIndex": 0, "endRowIndex": 1 }, "cell": { "userEnteredFormat": { "backgroundColor": { "red": 0.0, "green": 0.0, "blue": 0.0 }, "horizontalAlignment" : "CENTER", "textFormat": { "foregroundColor": { "red": 1.0, "green": 1.0, "blue": 1.0 }, "fontSize": 12, "bold": true } } }, "fields": "userEnteredFormat(backgroundColor,textFormat,horizontalAlignment)" } }, { "updateSheetProperties": { "properties": { "sheetId": SHEET_ID, "gridProperties": { "frozenRowCount": 1 } }, "fields": "gridProperties.frozenRowCount" } } ] }
কোষগুলিকে একত্রিত করুন
নিম্নলিখিত spreadsheets.batchUpdate কোড নমুনাটি দেখায় কিভাবে MergeCellsRequest ব্যবহার করে সেল মার্জ করা যায়। প্রথম অনুরোধটি A1:B2 পরিসরকে একটি একক সেলে মার্জ করে। দ্বিতীয় অনুরোধটি A3:B6-এর কলামগুলিকে মার্জ করে, তবে সারিগুলিকে আলাদা রাখে।
অনুরোধ প্রোটোকলটি নিচে দেখানো হলো।
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
"requests": [
{
"mergeCells": {
"range": {
"sheetId": SHEET_ID,
"startRowIndex": 0,
"endRowIndex": 2,
"startColumnIndex": 0,
"endColumnIndex": 2
},
"mergeType": "MERGE_ALL"
}
},
{
"mergeCells": {
"range": {
"sheetId": SHEET_ID,
"startRowIndex": 2,
"endRowIndex": 6,
"startColumnIndex": 0,
"endColumnIndex": 2
},
"mergeType": "MERGE_COLUMNS"
}
},
]
}একটি পরিসরের জন্য নিজস্ব তারিখ-সময় বা দশমিক বিন্যাস সেট করুন
নিম্নলিখিত spreadsheets.batchUpdate কোড নমুনাটি দেখায় কিভাবে RepeatCellRequest ব্যবহার করে সেলগুলিকে কাস্টম ডেটটাইম এবং নম্বর ফরম্যাটে আপডেট করা যায়। প্রথম অনুরোধটি A1:A10 রেঞ্জের সেলগুলিকে hh:mm:ss am/pm, ddd mmm dd yyyy কাস্টম ডেটটাইম ফরম্যাটটি দেয়। এই ফরম্যাটে একটি ডেটটাইমের উদাহরণ হল: "02:05:07 PM, Sun Apr 03 2016"।
দ্বিতীয় অনুরোধটি B1:B10 সেলগুলিতে #,##0.0000 কাস্টম নম্বর ফরম্যাটটি প্রয়োগ করে, যা নির্দেশ করে যে সংখ্যাগুলিকে কমা দিয়ে ভাগ করতে হবে, দশমিকের পরে ৪টি অঙ্ক থাকবে এবং শুরুর একটি শূন্য ছাড়া বাকি সব শূন্য বাদ দিতে হবে। উদাহরণস্বরূপ, "3.14" সংখ্যাটি "3.1400" হিসাবে প্রদর্শিত হয়, যেখানে "12345.12345" সংখ্যাটি "12,345.1235" হিসাবে প্রদর্শিত হয়।
আরও তথ্যের জন্য, তারিখ এবং নম্বর ফরম্যাট দেখুন।
অনুরোধ প্রোটোকলটি নিচে দেখানো হলো।
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{ "requests": [ { "repeatCell": { "range": { "sheetId": SHEET_ID, "startRowIndex": 0, "endRowIndex": 10, "startColumnIndex": 0, "endColumnIndex": 1 }, "cell": { "userEnteredFormat": { "numberFormat": { "type": "DATE", "pattern": "hh:mm:ss am/pm, ddd mmm dd yyyy" } } }, "fields": "userEnteredFormat.numberFormat" } }, { "repeatCell": { "range": { "sheetId": SHEET_ID, "startRowIndex": 0, "endRowIndex": 10, "startColumnIndex": 1, "endColumnIndex": 2 }, "cell": { "userEnteredFormat": { "numberFormat": { "type": "NUMBER", "pattern": "#,##0.0000" } } }, "fields": "userEnteredFormat.numberFormat" } } ] }