গুগল শিটস এপিআই আপনাকে প্রয়োজন অনুযায়ী স্প্রেডশিটের মধ্যে চার্ট তৈরি ও আপডেট করার সুযোগ দেয়। এই পৃষ্ঠার উদাহরণগুলিতে দেখানো হয়েছে, কীভাবে আপনি শিটস এপিআই ব্যবহার করে চার্টের কিছু সাধারণ কাজ সম্পাদন করতে পারেন।
ভাষা নিরপেক্ষতার জন্য এই উদাহরণগুলো HTTP অনুরোধ আকারে উপস্থাপন করা হয়েছে। গুগল এপিআই ক্লায়েন্ট লাইব্রেরি ব্যবহার করে বিভিন্ন ভাষায় কীভাবে ব্যাচ আপডেট বাস্তবায়ন করতে হয় তা জানতে, “স্প্রেডশিট আপডেট করুন” দেখুন।
In these examples, the placeholders SPREADSHEET_ID and SHEET_ID
এটি নির্দেশ করে যে আপনি আইডিগুলো কোথায় প্রদান করবেন। আপনি স্প্রেডশীট ইউআরএল-এ স্প্রেডশীট আইডি খুঁজে পেতে পারেন। আপনি spreadsheets.get মেথড ব্যবহার করে শীট আইডি পেতে পারেন। রেঞ্জগুলো A1 নোটেশন ব্যবহার করে নির্দিষ্ট করা হয়। একটি উদাহরণ রেঞ্জ হলো Sheet1!A1:D5।
এছাড়াও, প্লেসহোল্ডার CHART_ID একটি নির্দিষ্ট চার্টের আইডি নির্দেশ করে। আপনি শীটস এপিআই (Sheets API) ব্যবহার করে চার্ট তৈরি করার সময় এই আইডিটি সেট করতে পারেন, অথবা শীটস এপিআই-কে আপনার জন্য একটি আইডি তৈরি করার অনুমতি দিতে পারেন। আপনি spreadsheets.get মেথড ব্যবহার করে বিদ্যমান চার্টগুলোর আইডি পেতে পারেন।
Finally, the placeholder SOURCE_SHEET_ID indicates your sheet with the source data. In these examples, this is the table listed under Chart source data .
চার্টের উৎস ডেটা
এই উদাহরণগুলোর জন্য, ধরে নিন যে ব্যবহৃত স্প্রেডশীটটির প্রথম শীটে ("শীট১") নিম্নলিখিত উৎস ডেটা রয়েছে। প্রথম সারির স্ট্রিংগুলো হলো প্রতিটি কলামের লেবেল। আপনার স্প্রেডশীটের অন্যান্য শীট থেকে কীভাবে ডেটা পড়তে হয় তার উদাহরণ দেখতে, A1 নোটেশন দেখুন।
| একটি | বি | সি | ডি | ই | |
| ১ | মডেল নম্বর | বিক্রয় - জানুয়ারি | বিক্রয় - ফেব্রুয়ারী | বিক্রয় - মার্চ | মোট বিক্রয় |
| ২ | ডি-০১এক্স | ৬৮ | ৭৪ | ৬০ | ২০২ |
| ৩ | FR-0B1 | ৯৭ | ৭৬ | ৮৮ | ২৬১ |
| ৪ | পি-০৩৪ | ২৭ | ৪৯ | ৩২ | ১০৮ |
| ৫ | পি-১০৫ | ৪৬ | ৪৪ | ৬৭ | ১৫৭ |
| ৬ | ডাব্লিউ-১১ | ৭৫ | ৬৮ | ৮৭ | ২৩০ |
| ৭ | ডাব্লিউ-২৪ | ৭৪ | ৫২ | ৬২ | ১৮৮ |
একটি কলাম চার্ট যোগ করুন
নিম্নলিখিত spreadsheets.batchUpdate কোড নমুনাটি দেখায় কিভাবে AddChartRequest ব্যবহার করে উৎস ডেটা থেকে একটি কলাম চার্ট তৈরি করে একটি নতুন শীটে স্থাপন করা যায়। চার্টটি কনফিগার করার জন্য অনুরোধটি নিম্নলিখিত কাজগুলো করে:
- চার্টের ধরণ কলাম চার্ট হিসেবে সেট করে।
- চার্টের নীচে একটি লিজেন্ড যোগ করে।
- চার্ট এবং অক্ষের শিরোনাম নির্ধারণ করে।
- Configures 3 data series, representing sales for 3 different months while using default formatting and colors.
অনুরোধ প্রোটোকলটি নিচে দেখানো হলো।
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{ "requests": [ { "addChart": { "chart": { "spec": { "title": "Model Q1 Sales", "basicChart": { "chartType": "COLUMN", "legendPosition": "BOTTOM_LEGEND", "axis": [ { "position": "BOTTOM_AXIS", "title": "Model Numbers" }, { "position": "LEFT_AXIS", "title": "Sales" } ], "domains": [ { "domain": { "sourceRange": { "sources": [ { "sheetId": SOURCE_SHEET_ID, "startRowIndex": 0, "endRowIndex": 7, "startColumnIndex": 0, "endColumnIndex": 1 } ] } } } ], "series": [ { "series": { "sourceRange": { "sources": [ { "sheetId": SOURCE_SHEET_ID, "startRowIndex": 0, "endRowIndex": 7, "startColumnIndex": 1, "endColumnIndex": 2 } ] } }, "targetAxis": "LEFT_AXIS" }, { "series": { "sourceRange": { "sources": [ { "sheetId": SOURCE_SHEET_ID, "startRowIndex": 0, "endRowIndex": 7, "startColumnIndex": 2, "endColumnIndex": 3 } ] } }, "targetAxis": "LEFT_AXIS" }, { "series": { "sourceRange": { "sources": [ { "sheetId": SOURCE_SHEET_ID, "startRowIndex": 0, "endRowIndex": 7, "startColumnIndex": 3, "endColumnIndex": 4 } ] } }, "targetAxis": "LEFT_AXIS" } ], "headerCount": 1 } }, "position": { "newSheet": true } } } } ] }
The request creates a chart in a new sheet like this:

একটি পাই চার্ট যোগ করুন
The following spreadsheets.batchUpdate code sample shows how to use the AddChartRequest to create a 3D pie chart from the source data. The request does the following to configure the chart:
- চার্টের শিরোনাম নির্ধারণ করে।
- চার্টের ডানদিকে একটি লিজেন্ড যোগ করে।
- Sets the chart as a 3D pie chart. Note that 3D pie charts cannot have a "donut hole" in the center the way flat pie charts can.
- Sets the chart data series as the total sales for each model number.
- Anchors the chart on cell C3 of the sheet specified by SHEET_ID , with a 50 pixel offset in both the X and Y directions.
অনুরোধ প্রোটোকলটি নিচে দেখানো হলো।
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{ "requests": [ { "addChart": { "chart": { "spec": { "title": "Model Q1 Total Sales", "pieChart": { "legendPosition": "RIGHT_LEGEND", "threeDimensional": true, "domain": { "sourceRange": { "sources": [ { "sheetId": SOURCE_SHEET_ID, "startRowIndex": 0, "endRowIndex": 7, "startColumnIndex": 0, "endColumnIndex": 1 } ] } }, "series": { "sourceRange": { "sources": [ { "sheetId": SOURCE_SHEET_ID, "startRowIndex": 0, "endRowIndex": 7, "startColumnIndex": 4, "endColumnIndex": 5 } ] } }, } }, "position": { "overlayPosition": { "anchorCell": { "sheetId": SHEET_ID, "rowIndex": 2, "columnIndex": 2 }, "offsetXPixels": 50, "offsetYPixels": 50 } } } } } ] }
অনুরোধটি এইরকম একটি চার্ট তৈরি করে:

Alternatively, you can also update the legendPosition value from RIGHT_LEGEND to LABELED_LEGEND within the request so the legend values are connected to the pie chart slices.
'legendPosition': 'LABELED_LEGEND',
আপডেট করা অনুরোধটি এইরকম একটি চার্ট তৈরি করে:

Add a line chart using multiple non-adjacent ranges
নিম্নলিখিত spreadsheets.batchUpdate কোড নমুনাটি দেখায় কিভাবে AddChartRequest ব্যবহার করে উৎস ডেটা থেকে একটি লাইন চার্ট তৈরি করে উৎস শীটে স্থাপন করা যায়। ChartSourceRange থেকে সারি বাদ দেওয়ার জন্য অসংলগ্ন রেঞ্জ নির্বাচন করা যেতে পারে।
The request does the following to configure the chart:
- চার্টের ধরণ লাইন চার্ট হিসেবে সেট করে।
- অনুভূমিক x-অক্ষের শিরোনাম নির্ধারণ করে।
- এটি বিক্রয়ের প্রতিনিধিত্বকারী একটি ডেটা সিরিজ কনফিগার করে। এটি ডিফল্ট ফরম্যাটিং এবং রঙ ব্যবহার করে A1:A3 ও A6:A7-কে একটি
domainএবং B1:B3 ও B6:B7-কে একটিseriesহিসেবে সেট করে। রিকোয়েস্ট URL-এ A1 নোটেশন ব্যবহার করে রেঞ্জগুলো নির্দিষ্ট করা হয়। - Anchors the chart on cell H8 of the sheet specified by SHEET_ID .
অনুরোধ প্রোটোকলটি নিচে দেখানো হলো।
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
"requests": [
{
"addChart": {
"chart": {
"spec": {
"basicChart": {
"chartType": "LINE",
"domains": [
{
"domain": {
"sourceRange": {
"sources": [
{
"startRowIndex": 0,
"endRowIndex": 3,
"startColumnIndex": 0,
"endColumnIndex": 1,
"sheetId": SOURCE_SHEET_ID
},
{
"startRowIndex": 5,
"endRowIndex": 7,
"startColumnIndex": 0,
"endColumnIndex": 1,
"sheetId": SOURCE_SHEET_ID
}
]
}
}
}
],
"series": [
{
"series": {
"sourceRange": {
"sources": [
{
"startRowIndex": 0,
"endRowIndex": 3,
"startColumnIndex": 1,
"endColumnIndex": 2,
"sheetId": SOURCE_SHEET_ID
},
{
"startRowIndex": 5,
"endRowIndex": 7,
"startColumnIndex": 1,
"endColumnIndex": 2,
"sheetId": SOURCE_SHEET_ID
}
]
}
}
}
]
}
},
"position": {
"overlayPosition": {
"anchorCell": {
"sheetId": SOURCE_SHEET_ID,
"rowIndex": 8,
"columnIndex": 8
}
}
}
}
}
}
]
}The request creates a chart in a new sheet like this:

একটি চার্ট মুছে ফেলুন
The following spreadsheets.batchUpdate code sample shows how to use the DeleteEmbeddedObjectRequest to delete a chart specified by the CHART_ID .
অনুরোধ প্রোটোকলটি নিচে দেখানো হলো।
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
"requests": [
{
"deleteEmbeddedObject": {
"objectId": CHART_ID
}
}
]
}একটি চার্টের বৈশিষ্ট্য সম্পাদনা করুন
নিম্নলিখিত spreadsheets.batchUpdate কোড নমুনাটি দেখায় কিভাবে 'Add a column chart' রেসিপিতে তৈরি করা চার্টের ডেটা, টাইপ এবং চেহারা পরিবর্তন করে সম্পাদনা করার জন্য UpdateChartSpecRequest ব্যবহার করতে হয়। চার্টের প্রোপার্টির উপসেটগুলি পৃথকভাবে পরিবর্তন করা যায় না। সম্পাদনা করার জন্য, আপনাকে UpdateChartSpecRequest এর সাথে সম্পূর্ণ spec ফিল্ডটি সরবরাহ করতে হবে। মূলত, একটি চার্ট স্পেসিফিকেশন সম্পাদনা করার জন্য এটিকে একটি নতুন দিয়ে প্রতিস্থাপন করতে হয়।
নিম্নলিখিত অনুরোধটি মূল চার্টটি ( CHART_ID দ্বারা নির্দিষ্ট) আপডেট করে:
- চার্টের ধরণ
BARহিসেবে সেট করে। - লিজেন্ডটিকে চার্টের ডানদিকে সরিয়ে দেয়।
- Inverts the axes so that "Sales" is on the bottom axis and "Model Numbers" is on the left axis.
- অক্ষের শিরোনামের ফরম্যাট ২৪-পয়েন্ট ফন্টে, বোল্ড এবং ইটালিক আকারে সেট করে।
- Removes the "W-24" data from the chart (row 7 in chart source data ).
অনুরোধ প্রোটোকলটি নিচে দেখানো হলো।
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{ "requests": [ { "updateChartSpec": { "chartId": CHART_ID, "spec": { "title": "Model Q1 Sales", "basicChart": { "chartType": "BAR", "legendPosition": "RIGHT_LEGEND", "axis": [ { "format": { "bold": true, "italic": true, "fontSize": 24 }, "position": "BOTTOM_AXIS", "title": "Sales" }, { "format": { "bold": true, "italic": true, "fontSize": 24 }, "position": "LEFT_AXIS", "title": "Model Numbers" } ], "domains": [ { "domain": { "sourceRange": { "sources": [ { "sheetId": SOURCE_SHEET_ID, "startRowIndex": 0, "endRowIndex": 6, "startColumnIndex": 0, "endColumnIndex": 1 } ] } } } ], "series": [ { "series": { "sourceRange": { "sources": [ { "sheetId": SOURCE_SHEET_ID, "startRowIndex": 0, "endRowIndex": 6, "startColumnIndex": 1, "endColumnIndex": 2 } ] } }, "targetAxis": "BOTTOM_AXIS" }, { "series": { "sourceRange": { "sources": [ { "sheetId": SOURCE_SHEET_ID, "startRowIndex": 0, "endRowIndex": 6, "startColumnIndex": 2, "endColumnIndex": 3 } ] } }, "targetAxis": "BOTTOM_AXIS" }, { "series": { "sourceRange": { "sources": [ { "sheetId": SOURCE_SHEET_ID, "startRowIndex": 0, "endRowIndex": 6, "startColumnIndex": 3, "endColumnIndex": 4 } ] } }, "targetAxis": "BOTTOM_AXIS" } ], "headerCount": 1 } } } } ] }
অনুরোধের পর চার্টটি দেখতে এইরকম হয়:

একটি চার্ট সরান বা আকার পরিবর্তন করুন
নিম্নলিখিত spreadsheets.batchUpdate কোড নমুনাটি দেখায় কিভাবে UpdateEmbeddedObjectPositionRequest ব্যবহার করে একটি চার্ট সরানো এবং আকার পরিবর্তন করা যায়। অনুরোধটির পরে, CHART_ID দ্বারা নির্দিষ্ট চার্টটি হলো:
- এর মূল শীটের A5 সেলে অ্যাঙ্কর করা হয়েছে।
- X অক্ষ বরাবর ১০০ পিক্সেল অফসেট করুন।
- ১২০০ বাই ৭৪২ পিক্সেলে আকার পরিবর্তন করা হয়েছে (একটি চার্টের ডিফল্ট আকার হলো ৬০০ বাই ৩৭১ পিক্সেল)।
এই অনুরোধটি শুধুমাত্র fields প্যারামিটার দিয়ে নির্দিষ্ট করা প্রোপার্টিগুলো পরিবর্তন করে। অন্যান্য প্রোপার্টি (যেমন offsetYPixels ) তাদের মূল মান অপরিবর্তিত রাখে।
অনুরোধ প্রোটোকলটি নিচে দেখানো হলো।
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
"requests": [
{
"updateEmbeddedObjectPosition": {
"objectId": CHART_ID,
"newPosition": {
"overlayPosition": {
"anchorCell": {
"rowIndex": 4,
"columnIndex": 0
},
"offsetXPixels": 100,
"widthPixels": 1200,
"heightPixels": 742
}
},
"fields": "anchorCell(rowIndex,columnIndex),offsetXPixels,widthPixels,heightPixels"
}
}
]
}চার্টের ডেটা পড়ুন
নিম্নলিখিত spreadsheets.get কোড নমুনাটি দেখায় কিভাবে একটি স্প্রেডশীট থেকে চার্টের ডেটা পেতে হয়। fields কোয়েরি প্যারামিটারটি নির্দিষ্ট করে যে শুধুমাত্র চার্টের ডেটা ফেরত দেওয়া হবে।
এই মেথড কলের প্রতিক্রিয়া হলো একটি spreadsheet অবজেক্ট, যার মধ্যে sheet অবজেক্টের একটি অ্যারে থাকে। একটি শীটে উপস্থিত যেকোনো চার্ট সেই sheet অবজেক্টের মধ্যে উপস্থাপিত হয়। যদি কোনো প্রতিক্রিয়া ফিল্ড ডিফল্ট মানে সেট করা থাকে, তবে তা প্রতিক্রিয়া থেকে বাদ দেওয়া হয়।
এই উদাহরণে, প্রথম শীটে ( SOURCE_SHEET_ID ) কোনো চার্ট নেই, তাই একটি খালি জোড়া বন্ধনী ফেরত দেওয়া হয়েছে। দ্বিতীয় শীটে ‘Add a column chart’ দ্বারা তৈরি চার্টটি ছাড়া আর কিছুই নেই।
অনুরোধ প্রোটোকলটি নিচে দেখানো হলো।
GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID?fields=sheets(charts)
{ "sheets": [ {}, { "charts": [ { "chartId": CHART_ID, "position": { "sheetId": SHEET_ID }, "spec": { "basicChart": { "axis": [ { "format": { "bold": false, "italic": false }, "position": "BOTTOM_AXIS", "title": "Model Numbers" }, { "format": { "bold": false, "italic": false }, "position": "LEFT_AXIS", "title": "Sales" } ], "chartType": "COLUMN", "domains": [ { "domain": { "sourceRange": { "sources": [ { "endColumnIndex": 1 "endRowIndex": 7, "sheetId": SOURCE_SHEET_ID, "startColumnIndex": 0, "startRowIndex": 0, } ] } } } ], "legendPosition": "BOTTOM_LEGEND", "series": [ { "series": { "sourceRange": { "sources": [ { "endColumnIndex": 2, "endRowIndex": 7, "sheetId": SOURCE_SHEET_ID, "startColumnIndex": 1, "startRowIndex": 0, } ] } }, "targetAxis": "LEFT_AXIS" }, { "series": { "sourceRange": { "sources": [ { "endColumnIndex": 3, "endRowIndex": 7, "sheetId": SOURCE_SHEET_ID, "startColumnIndex": 2, "startRowIndex": 0, } ] } }, "targetAxis": "LEFT_AXIS" }, { "series": { "sourceRange": { "sources": [ { "endColumnIndex": 4, "endRowIndex": 7, "sheetId": SOURCE_SHEET_ID, "startColumnIndex": 3, "startRowIndex": 0, } ] } }, "targetAxis": "LEFT_AXIS" } ] }, "hiddenDimensionStrategy": "SKIP_HIDDEN_ROWS_AND_COLUMNS", "title": "Model Q1 Sales", }, } ] } ] }