এক্সেলাইজ পরিচিতি

এক্সেলাইজ হল একটি মৌলিক লাইব্রেরি, যা জি.ল্যাঙ্গুয়েজে লেখা মাইক্রোসফট এক্সেল ডকুমেন্ট বহন করার জন্য তৈরি করা হয়েছে। ECMA-376 এবং ISO/IEC 29500 জাতীয় মান ভিত্তিক। এটি ব্যবহার করা যায় মাইক্রোসফট এক্সেল™ ২০০৭ এবং তার উর্ধ্ববর্তী সংস্করণে তৈরি হওয়া শীট ডকুমেন্ট পড়া এবং লিখা করা, XLAM / XLSM / XLSX / XLTM / XLTX ইত্যাদি বিভিন্ন ডকুমেন্ট ফরম্যাট সমর্থন করে। এটি স্টাইল, ইমেজ (টেবিল), পিভট টেবিল, স্লাইসার এবং অন্যান্য জটিল উপাদান সম্পেদন ডকুমেন্ট সহ প্রবাহিত রিড-রাইট API সরবরাহ করে যাতে বড় পরিস্কার ডেটাসহ ওয়ার্কবুক প্রসেসিং করা যায়। এটি বিভিন্ন প্রতিবেদন প্ল্যাটফর্ম, ক্লাউড কম্পিউটিং, এবং অন্যান্য সিস্টেমে প্রযোগ করা যেতে পারে। এই লাইব্রেরি ব্যবহার করতে হলে Go ভাষার সংস্করণ 1.16 অথবা তার উর্ধ্ববর্তী প্রয়োজন।

ইনস্টলেশন

নীচের টেবিলে এক্সেলাইজ বেসিক লাইব্রেরির গো ভাষার নির্দিষ্ট সংস্করণগুলির নিম্নগুলি প্রয়োজনীয় মিনিমাম পরিয়ায়ের তালিকা দেয়া আছে:

এক্সেলাইজ সংস্করণ গো ভাষার নীতিমান প্রয়োজনীয়তা
v2.7.0 1.16
v2.4.0 ~ v2.6.1 1.15
v2.0.2 ~ v2.3.2 1.10
v1.0.0 ~ v2.0.1 1.6

সর্বাধিক সাম্প্রতিক সংস্করণ ব্যবহার করতে দরকার আছে গো ভাষার 1.16 অথবা তার উর্ধ্ববর্তী সংস্করণ। অনুগ্রহ করে মনে রাখবেন যে, অসম্পত্তিকারী পরিবর্তন Go 1.21.0 এর কারণে হতে পারে, যা এক্সেলাইজ বেসিক লাইব্রেরি এই সংস্করণে সঠিকভাবে কাজ করা না। আপনি যদি Go 1.21.x ব্যবহার করছেন, তাহলে অনুগ্রহ করে উন্নত করুন Go 1.21.1 অথবা তার উর্ধ্ববর্তী সংস্করণে।

  • ইনস্টলেশন কমান্ড
go get github.com/xuri/excelize
  • আপনি যদি গো মডিউলগুলি ব্যবহার করে প্যাকেজ পরিচালনা করতে চান, তবে নীচের কমান্ডটি ব্যবহার করুন সর্বশেষ সংস্করণ ইনস্টলেশনের জন্য।
go get github.com/xuri/excelize/v2

আপডেট

  • আপডেট কমান্ড
go get -u github.com/xuri/excelize/v2

এক্সেল ডকুমেন্ট তৈরি করুন

নীচে একটি সাধারণ উদাহরণ দেখানো হল এক্সেল ডকুমেন্ট তৈরির:

package main

import (
    "fmt"
    "github.com/xuri/excelize/v2"
)

func main() {
    f := excelize.NewFile()
    defer func() {
        if err := f.Close(); err != nil {
            fmt.Println(err)
        }
    }()
    // একটি নতুন শিট তৈরি করুন
    index, err := f.NewSheet("Sheet2")
    if err != nil {
        fmt.Println(err)
        return
    }
    // সেল মান সেট করুন
    f.SetCellValue("Sheet2", "A2", "Hello world.")
    f.SetCellValue("Sheet1", "B2", 100)
    // ওয়ার্কবুকের ডিফল্ট কার্যলেখ সেট করুন
    f.SetActiveSheet(index)
    // নির্দিষ্ট পাথে ফাইলটি সেভ করুন
    if err := f.SaveAs("Book1.xlsx"); err != nil {
        fmt.Println(err)
    }
}

এক্সেল ডকুমেন্ট পড়ুন

নীচে এক্সেল ডকুমেন্ট পড়ার একটি উদাহরণ দেখানো হল:

package main

import (
    "fmt"

    "github.com/xuri/excelize/v2"
)

func main() {
    f, err := excelize.OpenFile("Book1.xlsx")
    if err != nil {
        fmt.Println(err)
        return
    }
    defer func() {
        if err := f.Close(); err != nil {
            fmt.Println(err)
        }
    }()
    // ওয়ার্কশীটের নির্দিষ্ট সেলের মান পান
    cell, err := f.GetCellValue("Sheet1", "B2")
    if err != nil {
        fmt.Println(err)
        return
    }
    fmt.Println(cell)
    // Sheet1 এর সমস্ত সেল পাওয়া যায়
    rows, err := f.GetRows("Sheet1")
    if err != nil {
        fmt.Println(err)
        return
    }
    for _, row := range rows {
        for _, colCell := range row {
            fmt.Print(colCell, "\t")
        }
        fmt.Println()
    }
}

এক্সেল ডকুমেন্টে চার্ট তৈরি করুন

এক্সেলাইজ ব্যবহার করে চার্ট তৈরি করা খুব সহজ, কোডে কয়েকটি লাইন লাগে। আপনি প্রয়োজনে চার্ট তৈরি করতে পরিমাণ শুধুমাত্র ডেটা যুক্ত করতে পারেন বা ডেটা যুক্ত করে পরবর্তীতে চার্ট তৈরি করতে পারেন।

এক্সেল ডকুমেন্টে চার্ট তৈরি

package main

import (
    "fmt"
    "github.com/xuri/excelize/v2"
)

func main() {
    f := excelize.NewFile()
    defer func() {
        if err := f.Close(); err != nil {
            fmt.Println(err)
        }
    }()
    for idx, row := range [][]interface{}{
        {nil, "আপেল", "কমলা", "নাসপাতি"}, {"ছোট", 2, 3, 3},
        {"সাধারণ", 5, 2, 4}, {"বড়", 6, 7, 8},
    } {
        cell, err := excelize.CoordinatesToCellName(1, idx+1)
        if err != nil {
            fmt.Println(err)
            return
        }
        f.SetSheetRow("Sheet1", cell, &row)
    }
    if err := f.AddChart("Sheet1", "E1", &excelize.Chart{
        Type: excelize.Col3DClustered,
        Series: []excelize.ChartSeries{
            {
                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: []excelize.RichTextRun{
            {
                Text: "ফলের ৩ডি ক্লাস্টার কলাম চার্ট",
            },
        },
    }); err != nil {
        fmt.Println(err)
        return
    }
    // ফাইলটি নির্দিষ্ট পথে সংরক্ষণ করুন
    if err := f.SaveAs("Book1.xlsx"); err != nil {
        fmt.Println(err)
    }
}

এক্সেল ডকুমেন্টে চিত্র যুক্ত করুন

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() {
        if err := f.Close(); err != nil {
            fmt.Println(err)
        }
    }()
    // একটি চিত্র যুক্ত করুন
    if err := f.AddPicture("Sheet1", "A2", "image.png", nil); err != nil {
        fmt.Println(err)
        return
    }
    // ওয়ার্কশীটে একটি চিত্র যুক্ত এবং চিত্রের স্কেল সেট করুন
    if err := f.AddPicture("Sheet1", "D2", "image.jpg",
        &excelize.GraphicOptions{ScaleX: 0.5, ScaleY: 0.5}); err != nil {
        fmt.Println(err)
        return
    }
    // ওয়ার্কশীটে একটি চিত্র যুক্ত এবং চিত্রের ছাপা সেট করুন
    enable, disable := true, false
    if err := f.AddPicture("Sheet1", "H2", "image.gif",
        &excelize.GraphicOptions{
            PrintObject:     &enable,
            LockAspectRatio: false,
            OffsetX:         15,
            OffsetY:         10,
            Locked:          &disable,
        }); err != nil {
        fmt.Println(err)
        return
    }
    // ফাইলটি সংরক্ষণ করুন
    if err = f.Save(); err != nil {
        fmt.Println(err)
    }
}