Excelize  

 
 

স্প্রেডশীটের জন্য ওপেন সোর্স গো লাইব্রেরি

Go API-এর মাধ্যমে Excel XLSX / XLSM / XLTM স্প্রেডশীট ফাইলগুলিতে ডেটা পড়ুন, তৈরি করুন, মার্জ করুন এবং ফিল্টার করুন।

Excelize হল একটি ওপেন সোর্স বিশুদ্ধ Go লাইব্রেরি যা Microsoft Excel XLSX/XLSM/XLTM স্প্রেডশীট ফাইলগুলি পড়ার এবং লেখার জন্য কার্যকারিতা প্রদান করে। বিকাশকারীরা মাইক্রোসফ্ট এক্সেল™ 2007 এবং পরবর্তীতে তাদের নিজস্ব অ্যাপ্লিকেশনের মধ্যে তৈরি করা স্প্রেডশীট নথিগুলি পড়তে এবং লিখতে পারে৷ লাইব্রেরিটি খুবই ব্যবহারকারী-বান্ধব এবং বড় স্প্রেডশীট ফাইল পড়া সমর্থন করে। এটি বিপুল পরিমাণ ডেটা সহ একটি ওয়ার্কশীট থেকে ডেটা তৈরি বা পড়ার জন্য একটি স্ট্রিমিং API প্রদান করেছে।

লাইব্রেরি এক্সেল স্প্রেডশীট ফাইল ম্যানিপুলেশন এবং প্রক্রিয়াকরণের সাথে সম্পর্কিত বেশ কয়েকটি গুরুত্বপূর্ণ বৈশিষ্ট্যকে সম্পূর্ণরূপে সমর্থন করে, যেমন এক্সেল ফাইলগুলি পড়া এবং লেখা, সেল রেঞ্জের সাথে কাজ করা, এক্সেল সারি পরিচালনা, মন্তব্য যোগ করা, সেল মার্জ করা, সারিগুলি অনুলিপি করা, শর্তসাপেক্ষ বিন্যাস, পাঠ্য সন্নিবেশ করা, টেবিল পরিচালনা করা। এক্সেল ফাইলে, ছবি যোগ করুন, নতুন শীট যোগ করুন এবং আরও অনেক কিছু।

Previous Next

এক্সেলাইজ দিয়ে শুরু করা

এক্সেলাইজ ইনস্টল করার প্রস্তাবিত উপায় হল গিটহাব থেকে, দ্রুত ইনস্টলেশনের জন্য অনুগ্রহ করে নিম্নলিখিত কমান্ডটি ব্যবহার করুন।

GitHub কমান্ডের মাধ্যমে ইনস্টল করুন

 go get github.com/360EntSecGroup-Skylar/excelize 

Go Library এর মাধ্যমে Excel XLSX ফাইল তৈরি করুন

Excelize প্রোগ্রামারদের তাদের নিজস্ব Go অ্যাপ্লিকেশনের মধ্যে একটি Excel XLSX স্প্রেডশীট তৈরি করতে সক্ষম করে। একবার আপনি শীটটি তৈরি করার পরে আপনি একটি নতুন শীট তৈরি করতে পারেন, একটি ঘরের মান সেট করতে পারেন, সারি এবং কলামের সংখ্যা নির্ধারণ করতে পারেন, ওয়ার্কবুকের একটি সক্রিয় শীট সেট করতে পারেন এবং আরও অনেক কিছু করতে পারেন৷ আপনি একটি শীটে একটি নাম বরাদ্দ করতে পারেন এবং ফাইলটিকে আপনার পছন্দের পথে সংরক্ষণ করতে পারেন, একটি তৈরি শীটের জন্য ফন্টের ধরন এবং পাঠ্যের আকার সেট করতে পারেন। 

Go API এর মাধ্যমে Excel XLSX ফাইল তৈরি করুন

package main
import (
    "fmt"
    "github.com/xuri/excelize/v2"
)
func main() {
    f := excelize.NewFile()
    // Create a new sheet.
    index := f.NewSheet("Sheet2")
    // Set value of a cell.
    f.SetCellValue("Sheet2", "A2", "Hello world.")
    f.SetCellValue("Sheet1", "B2", 100)
    // Set active sheet of the workbook.
    f.SetActiveSheet(index)
    // Save spreadsheet by the given path.
    if err := f.SaveAs("Book1.xlsx"); err != nil {
        fmt.Println(err)
    }
}

একটি XLSX ফাইলে চার্ট সন্নিবেশ করান

এক্সেল চার্ট হল একটি ওয়ার্কশীট থেকে ডেটার ভিজ্যুয়াল উপস্থাপনা যা আপনার ওয়ার্কশীটের একটি ছোট অংশের মধ্যে প্রচুর পরিমাণে ডেটা সংক্ষিপ্ত করে ডেটা সম্পর্কে আরও বোঝার জন্য বোঝাতে পারে। চার্ট ব্যবহারকারীদের বিভিন্ন ফরম্যাটে যেমন বার, কলাম, পাই, লাইন, এরিয়া, বা রাডার ইত্যাদিতে দৃশ্যমানভাবে ডেটা প্রদর্শন করার অনুমতি দেয়। এক্সেলাইজ লাইব্রেরি চার্ট জেনারেশন সমর্থন করে সেইসাথে আপনার নিজের অ্যাপ্লিকেশনের মধ্যে মাত্র কয়েকটি লাইন কোড দিয়ে নিয়ন্ত্রণ করে। এটি একটি ওয়ার্কশীটে ডেটার উপর ভিত্তি করে চার্ট তৈরি করতে বা কোনও ডেটা ছাড়াই চার্ট তৈরি করার অনুমতি দেয়।

Go API এর মাধ্যমে Excel স্প্রেডশীট ফাইলে চার্ট যোগ করুন

package main
import (
    "fmt"
    "github.com/xuri/excelize/v2"
)
func main() {
    categories := map[string]string{
        "A2": "Small", "A3": "Normal", "A4": "Large",
        "B1": "Apple", "C1": "Orange", "D1": "Pear"}
    values := map[string]int{
        "B2": 2, "C2": 3, "D2": 3, "B3": 5, "C3": 2, "D3": 4, "B4": 6, "C4": 7, "D4": 8}
    f := excelize.NewFile()
    for k, v := range categories {
        f.SetCellValue("Sheet1", k, v)
    }
    for k, v := range values {
        f.SetCellValue("Sheet1", k, v)
    }
    if err := f.AddChart("Sheet1", "E1", `{
        "type": "col3DClustered",
        "series": [
        {
            "name": "Sheet1!$A$2",
            "categories": "Sheet1!$B$1:$D$1",
            "values": "Sheet1!$B$2:$D$2"
        },
        {
            "name": "Sheet1!$A$3",
            "categories": "Sheet1!$B$1:$D$1",
            "values": "Sheet1!$B$3:$D$3"
        },
        {
            "name": "Sheet1!$A$4",
            "categories": "Sheet1!$B$1:$D$1",
            "values": "Sheet1!$B$4:$D$4"
        }],
        "title":
        {
            "name": "Fruit 3D Clustered Column Chart"
        }
    }`); err != nil {
        fmt.Println(err)
        return
    }
    // Save spreadsheet by the given path.
    if err := f.SaveAs("Book1.xlsx"); err != nil {
        fmt.Println(err)
    }
}

এক্সেল ফাইলে PivotTable তৈরি করা

Excelize সহজে একটি Excel স্প্রেডশীটের ভিতরে একটি পিভট টেবিল তৈরি করার ক্ষমতা প্রদান করে। পিভট টেবিলগুলি মাইক্রোসফ্ট এক্সেলের সবচেয়ে শক্তিশালী বৈশিষ্ট্যগুলির মধ্যে একটি। এটি একটি এক্সেল শীটে আপনার ডেটা গণনা, সংক্ষিপ্তকরণ এবং বিশ্লেষণ করার জন্য একটি শক্তিশালী টুল। আপনি AddPivotTable ফাংশন ব্যবহার করে একটি সাধারণ পিভট টেবিল তৈরি করতে পারেন। তাছাড়া, আপনি সহজেই একটি পিভট টেবিলে ডেটা উৎস বরাদ্দ বা সম্পাদনা করতে পারেন।

Go Apps-এর ভিতরে Excel ফাইলে PivotTable তৈরি করুন

func main() {
    f := excelize.NewFile()
    // Create some data in a sheet
    month := []string{"Jan", "Feb", "Mar", "Apr", "May",
        "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}
    year := []int{2017, 2018, 2019}
    types := []string{"Meat", "Dairy", "Beverages", "Produce"}
    region := []string{"East", "West", "North", "South"}
    f.SetSheetRow("Sheet1", "A1", &[]string{"Month", "Year", "Type", "Sales", "Region"})
    for row := 2; row < 32; row++ {
        f.SetCellValue("Sheet1", fmt.Sprintf("A%d", row), month[rand.Intn(12)])
        f.SetCellValue("Sheet1", fmt.Sprintf("B%d", row), year[rand.Intn(3)])
        f.SetCellValue("Sheet1", fmt.Sprintf("C%d", row), types[rand.Intn(4)])
        f.SetCellValue("Sheet1", fmt.Sprintf("D%d", row), rand.Intn(5000))
        f.SetCellValue("Sheet1", fmt.Sprintf("E%d", row), region[rand.Intn(4)])
    }
    if err := f.AddPivotTable(&excelize.PivotTableOptions{
        DataRange:       "Sheet1!$A$1:$E$31",
        PivotTableRange: "Sheet1!$G$2:$M$34",
        Rows: []excelize.PivotTableField{
            {Data: "Month", DefaultSubtotal: true}, {Data: "Year"}},
        Filter: []excelize.PivotTableField{
            {Data: "Region"}},
        Columns: []excelize.PivotTableField{
            {Data: "Type", DefaultSubtotal: true}},
        Data: []excelize.PivotTableField{
            {Data: "Sales", Name: "Summarize", Subtotal: "Sum"}},
        RowGrandTotals: true,
        ColGrandTotals: true,
        ShowDrill:      true,
        ShowRowHeaders: true,
        ShowColHeaders: true,
        ShowLastColumn: true,
    }); err != nil {
        fmt.Println(err)
    }
    if err := f.SaveAs("Book1.xlsx"); err != nil {
        fmt.Println(err)
    }
}

XLSX স্প্রেডশীটে ছবি যোগ করুন

এক্সেলাইজ লাইব্রেরি একটি এক্সেল এক্সএলএসএক্স স্প্রেডশীটে ছবি যোগ করার কার্যকারিতা প্রদান করে মাত্র কয়েক লাইন Go কমান্ডের সাথে। আপনি আপনার প্রয়োজন অনুযায়ী ইমেজ পরিবর্তন করতে পারেন. আপনি স্কেলিং এবং মুদ্রণ সমর্থন সহ একটি ছবি সন্নিবেশ করতে পারেন।

Go API এর মাধ্যমে এক্সেল ওয়ার্কশীট ফাইলে ইমেজ যোগ করুন

package main
import (
    "fmt"
    _ "image/gif"
    _ "image/jpeg"
    _ "image/png"
    "github.com/xuri/excelize/v2"
)
func main() {
    f, err := excelize.OpenFile("Book1.xlsx")
    if err != nil {
        fmt.Println(err)
        return
    }
    defer func() {
        // Close the spreadsheet.
        if err := f.Close(); err != nil {
            fmt.Println(err)
        }
    }()
    // Insert a picture.
    if err := f.AddPicture("Sheet1", "A2", "image.png", ""); err != nil {
        fmt.Println(err)
    }
    // Insert a picture to worksheet with scaling.
    if err := f.AddPicture("Sheet1", "D2", "image.jpg",
        `{"x_scale": 0.5, "y_scale": 0.5}`); err != nil {
        fmt.Println(err)
    }
    // Insert a picture offset in the cell with printing support.
    if err := f.AddPicture("Sheet1", "H2", "image.gif", `{
        "x_offset": 15,
        "y_offset": 10,
        "print_obj": true,
        "lock_aspect_ratio": false,
        "locked": false
    }`); err != nil {
        fmt.Println(err)
    }
    // Save the spreadsheet with the origin path.
    if err = f.Save(); err != nil {
        fmt.Println(err)
    }
}
 বাংলা