Excel XLSX ফাইল তৈরি করার জন্য ওপেন সোর্স গো লাইব্রেরি
Open Source Go API এর মাধ্যমে Microsoft Excel XLSX নথিগুলি পড়ুন, লিখুন, সম্পাদনা করুন৷ আপনার স্প্রেডশীটের মধ্যে একাধিক চার্ট, ছবি এবং টেবিল যোগ করুন।
Unioffice হল একটি ওপেন সোর্স পিওর গো লাইব্রেরি যা সফ্টওয়্যার ডেভেলপারদের তাদের নিজস্ব Go অ্যাপ্লিকেশনের মধ্যে অফিস এক্সেল XLSX ডকুমেন্ট তৈরি, পরিবর্তন এবং ম্যানিপুলেট করার ক্ষমতা দেয়। লাইব্রেরিটি খুবই স্থিতিশীল এবং খুব কম প্রচেষ্টা এবং খরচের সাথে সর্বোচ্চ মাত্রার উৎপাদনশীলতা প্রদান করে।
ওপেন সোর্স ইউনিঅফিস লাইব্রেরি এক্সেল স্প্রেডশীট তৈরি এবং পরিবর্তনের সাথে সম্পর্কিত বেশ কয়েকটি গুরুত্বপূর্ণ বৈশিষ্ট্যকে সম্পূর্ণরূপে সমর্থন করে, যেমন স্ক্র্যাচ থেকে নতুন এক্সেল শীট তৈরি করা, বিভিন্ন নম্বর/তারিখ/সময় বিন্যাস সহ সেল তৈরি করা, এক্সেল সেল ফর্ম্যাটিং, সেল ভ্যালিডেশন সমর্থন, সেল মান পুনরুদ্ধার করা এক্সেল দ্বারা বিন্যাসিত, শর্তসাপেক্ষ বিন্যাস, সেল একত্রিত করা এবং আনমার্জ করা, কম্বো বক্স ড্রপডাউন, এমবেডেড ইমেজ এবং আরও অনেক কিছু সহ ডেটা যাচাইকরণ।
ইউনিঅফিস দিয়ে শুরু করা
আপনার প্রকল্পে ইউনিঅফিস করার প্রস্তাবিত উপায় হল Github ব্যবহার করা। একটি মসৃণ ইনস্টলেশনের জন্য অনুগ্রহ করে নিম্নলিখিত কমান্ডটি ব্যবহার করুন।
GitHub এর মাধ্যমে ইউনিঅফিস ইনস্টল করুন
go get github.com/unidoc/unioffice/
go build -i github.com/unidoc/unioffice/...
Go API এর মাধ্যমে এক্সেল XLSX সৃষ্টি
ওপেন সোর্স লাইব্রেরি ইউনিঅফিস কম্পিউটার প্রোগ্রামারদের তাদের নিজস্ব Go অ্যাপ্লিকেশনের মধ্যে একটি এক্সেল XLSX স্প্রেডশীট তৈরি করতে দেয়। এটি আপনাকে আপনার বিদ্যমান এক্সেল নথিতে একটি নতুন শীট যোগ করার এবং একটি শীটে একটি নাম বরাদ্দ করার এবং ফাইলটিকে আপনার পছন্দের পথে সংরক্ষণ করার ক্ষমতা দেয়৷ এটি একটি শীটে নতুন সারি এবং কলাম যোগ করা, সারি এবং কলামের সংখ্যা সংজ্ঞায়িত করা, একটি ঘরের ডিফল্ট মান সেট করা এবং আরও অনেক কিছুর মতো গুরুত্বপূর্ণ বৈশিষ্ট্যগুলির জন্য সমর্থন প্রদান করে। আপনি সহজে বিদ্যমান স্প্রেডশীট খুলতে এবং পরিবর্তন করতে পারেন।
গো লাইব্রেরির মাধ্যমে সাধারণ এক্সেল ফাইল তৈরি করুন
func main() {
ss := spreadsheet.New()
defer ss.Close()
// add a single sheet
sheet := ss.AddSheet()
// rows
for r := 0; r < 5; r++ {
row := sheet.AddRow()
// and cells
for c := 0; c < 5; c++ {
cell := row.AddCell()
cell.SetString(fmt.Sprintf("row %d cell %d", r, c))
}
}
if err := ss.Validate(); err != nil {
log.Fatalf("error validating sheet: %s", err)
}
ss.SaveToFile("simple.xlsx")
}
একটি Excel XLSX ফাইলে একাধিক চার্ট যোগ করুন
ইউনিঅফিস লাইব্রেরি একটি এক্সেল স্প্রেডশীটে মাত্র কয়েক লাইন কোড সহ চার্ট যোগ করার জন্য সমর্থন প্রদান করেছে। আপনি আপনার ওয়ার্কশীটে উপলভ্য ডেটার উপর ভিত্তি করে চার্ট তৈরি করতে পারেন সেইসাথে কোনও ডেটার প্রাপ্যতা ছাড়াই। চার্টগুলি আপনাকে বার, কলাম, পাই, লাইন, এরিয়া, বা রাডার ইত্যাদির মতো বিভিন্ন ফর্ম্যাটে দৃশ্যত ডেটা প্রদর্শন করার ক্ষমতা দেয়৷ বিকাশকারীরা সহজেই উপলব্ধ চার্ট বিকল্পগুলি থেকে নির্বাচন করতে পারে এবং তাদের মান নিয়ন্ত্রণ করতে পারে৷
Go API এর মাধ্যমে Excel ফাইলে একাধিক চার্ট সন্নিবেশ করান
func main() {
ss := spreadsheet.New()
defer ss.Close()
sheet := ss.AddSheet()
// Create all of our data
row := sheet.AddRow()
row.AddCell().SetString("Item")
row.AddCell().SetString("Price")
row.AddCell().SetString("# Sold")
row.AddCell().SetString("Total")
for r := 0; r < 5; r++ {
row := sheet.AddRow()
row.AddCell().SetString(fmt.Sprintf("Product %d", r+1))
row.AddCell().SetNumber(1.23 * float64(r+1))
row.AddCell().SetNumber(float64(r%3 + 1))
row.AddCell().SetFormulaRaw(fmt.Sprintf("C%d*B%d", r+2, r+2))
}
// Charts need to reside in a drawing
dwng := ss.AddDrawing()
chrt1, anc1 := dwng.AddChart(spreadsheet.AnchorTypeTwoCell)
chrt2, anc2 := dwng.AddChart(spreadsheet.AnchorTypeTwoCell)
addBarChart(chrt1)
addLineChart(chrt2)
anc1.SetWidth(9)
anc1.MoveTo(5, 1)
anc2.MoveTo(1, 23)
// and finally add the chart to the sheet
sheet.SetDrawing(dwng)
if err := ss.Validate(); err != nil {
log.Fatalf("error validating sheet: %s", err)
}
ss.SaveToFile("multiple-chart.xlsx")
}
func addBarChart(chrt chart.Chart) {
chrt.AddTitle().SetText("Bar Chart")
lc := chrt.AddBarChart()
priceSeries := lc.AddSeries()
priceSeries.SetText("Price")
// Set a category axis reference on the first series to pull the product names
priceSeries.CategoryAxis().SetLabelReference(`'Sheet 1'!A2:A6`)
priceSeries.Values().SetReference(`'Sheet 1'!B2:B6`)
soldSeries := lc.AddSeries()
soldSeries.SetText("Sold")
soldSeries.Values().SetReference(`'Sheet 1'!C2:C6`)
totalSeries := lc.AddSeries()
totalSeries.SetText("Total")
totalSeries.Values().SetReference(`'Sheet 1'!D2:D6`)
// the line chart accepts up to two axes
ca := chrt.AddCategoryAxis()
va := chrt.AddValueAxis()
lc.AddAxis(ca)
lc.AddAxis(va)
ca.SetCrosses(va)
va.SetCrosses(ca)
}
XLSX স্প্রেডশীটে ছবি ঢোকান
ইউনিঅফিস লাইব্রেরি XLSX স্প্রেডশীটে গো কোডের মাত্র কয়েকটি লাইনের সাথে ছবি অন্তর্ভুক্ত করাকে সম্পূর্ণভাবে সমর্থন করে। এটি একটি XLSX ওয়ার্কশীটের মধ্যে বিদ্যমান চিত্রগুলি মুছে ফেলার পাশাপাশি চিত্রগুলি সংশোধন করতে সহায়তা করে৷ এটি একটি ছবি সন্নিবেশ করার বিকল্পও প্রদান করে এবং এর বৈশিষ্ট্য যেমন আকার, অবস্থান, ইত্যাদি সেট করার পাশাপাশি মুদ্রণ সমর্থন করে।
Go API এর মাধ্যমে এক্সেল ফাইলে ইমেজ ঢোকান
func main() {
ss := spreadsheet.New()
defer ss.Close()
// add a single sheet
sheet := ss.AddSheet()
img, err := common.ImageFromFile("gophercolor.png")
if err != nil {
log.Fatalf("unable to create image: %s", err)
}
iref, err := ss.AddImage(img)
if err != nil {
log.Fatalf("unable to add image to workbook: %s", err)
}
dwng := ss.AddDrawing()
sheet.SetDrawing(dwng)
for i := float64(0); i < 360; i += 30 {
anc := dwng.AddImage(iref, spreadsheet.AnchorTypeAbsolute)
ang := i * math.Pi / 180
x := 2 + 2*math.Cos(ang)
y := 2 + +2*math.Sin(ang)
anc.SetColOffset(measurement.Distance(x) * measurement.Inch)
anc.SetRowOffset(measurement.Distance(y) * measurement.Inch)
// set the image to 1x1 inches
var w measurement.Distance = 1 * measurement.Inch
anc.SetWidth(w)
anc.SetHeight(iref.RelativeHeight(w))
}
if err := ss.Validate(); err != nil {
log.Fatalf("error validating sheet: %s", err)
}
ss.SaveToFile("image.xlsx")
}
স্প্রেডশীটের কক্ষে শর্তসাপেক্ষ বিন্যাস প্রয়োগ করুন
শর্তসাপেক্ষ বিন্যাস একটি দরকারী বৈশিষ্ট্য যা এক্সেল ব্যবহারকারীদের নির্দিষ্ট মানদণ্ডের উপর ভিত্তি করে একটি ঘর বা কক্ষের পরিসরে একটি বিন্যাস প্রয়োগ করতে সহায়তা করে। ইউনিঅফিস লাইব্রেরি কার্যকারিতা প্রদান করেছে যা সফ্টওয়্যার বিকাশকারীদের তাদের স্প্রেডশীটে মাত্র কয়েকটি গো কমান্ডের সাথে শর্তসাপেক্ষ ফর্ম্যাটিং প্রয়োগ করতে সক্ষম করে। লাইব্রেরিতে শর্তসাপেক্ষে ফর্ম্যাটিং সেল, স্টাইলিং, গ্রেডিয়েন্ট, আইকন, ডেটা বার এবং আরও অনেক কিছুর জন্য সমর্থন অন্তর্ভুক্ত করা হয়েছে।