কার্যকারিতা

কলাম দৃশ্যমান করুন

func (f *File) SetColVisible(sheet, col string, visible bool) error

উল্লেখিত শিট নাম এবং কলাম নামের উপর ভিত্তি করে কলামের দৃশ্যমানতা সেট করুন। এই ফাংশন সংগতবর্ণ। উদাহরণস্বরূপ, শিট1 নামের কলাম D লুকানোর জন্য:

err := f.SetColVisible("Sheet1", "D", false)

Sheet1 এর কলাম D থেকে F লুকানোর জন্য:

err := f.SetColVisible("Sheet1", "D:F", false)

কলাম প্রস্থ সেট করুন

func (f *File) SetColWidth(sheet, startCol, endCol string, width float64) error

নির্দিষ্ট শিট নাম, কলাম ধারণে, এবং প্রস্থতা মানের উপর ভিত্তি করে এক বা একাধিক কলাম দৈর্ঘ্য সেট করুন। এই ফাংশন সংগতবর্ণ। উদাহরণস্বরূপ, Sheet1 এর কলাম A থেকে H এর প্রস্থতা 20 ধরনে সেট করার জন্য:

err := f.SetColWidth("Sheet1", "A", "H", 20)

সারি উচ্চতা সেট করুন

func (f *File) SetRowHeight(sheet string, row int, height float64) error

নির্দিষ্ট শিট নাম, সারি সংখ্যা, এবং উচ্চতা মানের উপর ভিত্তি করে একটি সিঙ্গেল সারির উচ্চতা সেট করুন। উদাহরণস্বরূপ, Sheet1 এর প্রথম সারির উচ্চতা 50 ধরনে সেট করার জন্য:

err := f.SetRowHeight("Sheet1", 1, 50)

সারি দৃশ্যমানতা সেট করুন

func (f *File) SetRowVisible(sheet string, row int, visible bool) error

নির্দিষ্ট শিট নাম এবং সারি সংখ্যা ভিত্তিক অবস্থানে দৃশ্যমানতা সেট করুন। উদাহরণস্বরূপ, Sheet1 এর দ্বিতীয় সারি লুকানোর জন্য:

err := f.SetRowVisible("Sheet1", 2, false)

কার্যকারিতা নাম পান

func (f *File) GetSheetName(index int) string

দেওয়া শিট সূচীর উপর ভিত্তি করে কার্যকারিতা নাম পেয়ে যান। যদি কার্যকারিতা না থাকে, তাহলে একটি খালি স্ট্রিং পাঠানো হবে।

কলাম দৃশ্যমানতা পান

func (f *File) GetColVisible(sheet, column string) (bool, error)

যে কার্যকারিতা নাম এবং কলাম নাম উপর ভিত্তি করে কার্যকারিতা দৃশ্যমানতা পেতে। true এর রিটার্ন মান দৃশ্যমানতা নির্ধারণ করে, যেখানে false দৃশ্যমানতা নির্ধারণ করে। এই ফাংশন সংগতবর্ণ। উদাহরণস্বরূপ, Sheet1 এর কলাম D এর দৃশ্যমানতা পেতে:

visible, err := f.GetColVisible("Sheet1", "D")

কলাম প্রস্থ পেতে

func (f *File) GetColWidth(sheet, col string) (float64, error)

কার্যকারিতা নাম এবং কলাম নাম ভিত্তিক প্রস্থ পেতে। এই ফাংশন সংগতবর্ণ।

সারি উচ্চতা পেতে

func (f *File) GetRowHeight(sheet string, row int) (float64, error)

নির্দিষ্ট সারির সারি উপর ভিত্তি করে সারির উচ্চতা পেতে। উদাহরণস্বরূপ, Sheet1 এর প্রথম সারির উচ্চতা পেতে:

height, err := f.GetRowHeight("Sheet1", 1)

সারি দৃশ্যমানতা পেতে

func (f *File) GetRowVisible(sheet string, row int) (bool, error)

নির্দিষ্ট সারির সারি উপর ভিত্তি করে সারির দৃশ্যমানতা পেতে। উদাহরণস্বরূপ, Sheet1 এর দ্বিতীয় সারির দৃশ্যমানতা পেতে:

visible, err := f.GetRowVisible("Sheet1", 2)

কার্যকারিতা এর একটি উপখন্ড পেতে

func (f *File) GetSheetIndex(sheet string) (int, error)

নাম দ্বারা প্রদত্ত কার্যকারিতা এর এক্সপোজ পেতে। যদি কার্যকারিতা না থাকে, তাহলে -1 রিটার্ন করা হবে। প্রাপ্ত ইনডেক্সটি কাজ করার সময় SetActiveSheet() ফাংশন কল করার সময় প্যারামিটার হিসাবে ব্যবহার করা যেতে পারে বুকিয়ের ডিফল্ট কার্যকারিতা সেট করার জন্য।

ওয়ার্কশীট ম্যাপিং পেতে

func (f *File) GetSheetMap() map[int]string

ওয়ার্কবুকে প্রতিটি ওয়ার্কশীট, চার্ট শিট, এবং ডায়ালগ শিটের ম্যাপিং পাওয়া যায়, যা আইডি এবং নামে প্রতিষ্ঠিত।

f, err := excelize.OpenFile("Book1.xlsx")
if err != nil {
    return
}
defer func() {
    if err := f.Close(); err != nil {
        fmt.Println(err)
    }
}()
for index, name := range f.GetSheetMap() {
    fmt.Println(index, name)
}

ওয়ার্কশীটের তালিকা পেতে

func (f *File) GetSheetList() []string

ওয়ার্কবুকে ওয়ার্কশীট, চার্ট শিট, এবং ডায়ালগ শিটের তালিকা পাওয়া যায়, যা ওয়ার্কবুকে তাদের প্রদর্শনের অনুসারে রয়েছে।

ওয়ার্কশীটের নাম সেট করার জন্য

func (f *File) SetSheetName(source, target string) error

প্রদত্ত পুরাতন ও নতুন ওয়ার্কশীট নামের উপর ভিত্তি করে ওয়ার্কশীটের নাম পরিবর্তন করুন। ওয়ার্কশীটের নামটি 31 টি অক্ষর ব্যবহার করতে পারে। এই ফাংশনটি কেবলমাত্র ওয়ার্কশীটের নামের মাত্রা পরিবর্তন করে এবং কোষ্টকের সাথে প্রাসঙ্গিক ফর্মুলা এবং ওয়ার্কশীট নামগুলি আপডেট করে না। তাই, এই ফাংশনটি ব্যবহার করে একটি ওয়ার্কশীটের নাম পরিবর্তন করার ফলে ফর্মুলা ভুল বা প্রসঙ্গ সমস্যার সাথে মুখোদ্ধের হতে পারে।

কলাম যুক্ত করুন

func (f *File) InsertCols(sheet, col string, n int) error

প্রদত্ত ওয়ার্কশীট নাম, কলাম নাম, এবং যুক্ত করা কলামের সংখ্যা ভিত্তিকভাবে নির্দিষ্ট কলামের আগে ফাঁকা কলাম যুক্ত করুন। যেমন, Sheet1 নামের ওয়ার্কশীটের C কলামের আগে 2 টি ফাঁকা কলাম যুক্ত করুন:

err := f.InsertCols("Sheet1", "C", 2)

সারিগুলি যুক্ত করুন

func (f *File) InsertRows(sheet string, row, n int) error

প্রদত্ত ওয়ার্কশীট নাম, সারি নম্বর, এবং যুক্ত করা সারিগুলির সংখ্যা ভিত্তিকভাবে নির্দিষ্ট সারির আগে ফাঁকা সারি যুক্ত করুন। উদাহরণস্বরূপ, Sheet1 নামের ওয়ার্কশীটের 3 তম সারির আগে 2 টি ফাঁকা সারি যুক্ত করুন:

err := f.InsertRows("Sheet1", 3, 2)

সারিগুলি অনুলিপি এবং কপি করুন

func (f *File) DuplicateRow(sheet string, row int) error

প্রদত্ত ওয়ার্কশীট নাম এর উপর ভিত্তি করে অনুলিপি একটি ডুপ্লিকেট সারি সারি নম্বর পরে যুক্ত করুন। উদাহরণস্বরূপ, Sheet1 নামের ওয়ার্কশীটের 2 য়া সারির অনুলিপি করুন পাশাপাশি 3 য়া সারিতে:

err := f.DuplicateRow("Sheet1", 2)

এই পদক্ষেপ ব্যবহারের সময় সাবধানতা অভ্যন্তরীণ সূচনা ব্যবহার করুন, কারণ এটি সকল প্রাথমিক সূত্র, চার্ট, এবং অন্যান্য স्रোত সূচনা পরিবর্তন করবে। যদি ওয়ার্কশীটে কোনও সূত্রিত মান থাকে। এই পদক্ষেপ ব্যবহার করে পরে এক্সেল অ্যাপ্লিকেশন ব্যবহার করতে আগামীতে ফাইল ত্রুটি সম্পর্কিত হতে পারে। excelize বর্তমানে শুধুমাত্র ওয়ার্কশীটে অংশগুলির সুধুমাত্র আপডেট সমর্থন করে।

কপির সারি

func (f *File) DuplicateRowTo(sheet string, row, row2 int) error

প্রদত্ত শীট নাম এবং সারি নম্বরের ভিত্তিতে নির্দিষ্ট সারির পরে সারি নং করুন। যেমন, Sheet1 নামের ওয়ার্কশীটের 2 য়া সারির অনুলিপি করুন উপাত্ত ওয়ার্কশীটের সাততম সারিতে:

err := f.DuplicateRowTo("Sheet1", 2, 7)

এই পদক্ষেপ ব্যবহারের প্রধান সূচনা লক্ষ্য করুন, কারণ এটি ওয়ার্কশীটে সকল প্রাথমিক সূত্রগুলি, চার্টগুলি, এবং অন্যান্যগুলি বিষয়বস্তুর পরিবর্তন করবে। যদি ওয়ার্কশীটে কোনও সূত্রিত মান থাকে। এই পদক্ষেপ ব্যবহার করে পরে এক্সেল অ্যাপ্লিকেশন ব্যবহার করতে আগামীতে ফাইল ত্রুটি সম্পর্কিত হতে পারে। excelize বর্তমানে শুধুমাত্র ওয়ার্কশীটে অংশগুলির সুধুমাত্র আপডেট করার সমর্থন করে।

সারি আউটলাইন লেভেল সেট করুন

func (f *File) SetRowOutlineLevel(sheet string, row int, level uint8) error

দেওয়া শীটের নাম, সারি নম্বর, এবং আউটলাইন লেভেল প্যারামিটারের ভিত্তিতে একটি গ্রুপ তৈরি করুন। উদাহরণস্বরূপ, Sheet1 নামের ওয়ার্কশীটের দ্বিতীয় সারিতে 1 লেভেলের গ্রুপ তৈরি করুন।

সারি আউটলাইন লেভেল সেট

err := f.SetRowOutlineLevel("Sheet1", 2, 1)

কলাম বর্ণনা স্তর সেট করুন

func (f *File) SetColOutlineLevel(sheet, col string, level uint8) error

দেয়া গেল শিট নাম, কলাম নাম এবং আউটলাইন লেভেল প্যারামিটারের উপর ভিত্তি করে একটি গ্রুপ তৈরি করুন। উদাহরণস্বরূপ, আউটলাইন লেবেল 2 এর একটি গ্রুপ তৈরি করুন Sheet1 নামের ওয়ার্কশীটের D কলামে।

Set Column Outline Level

err := f.SetColOutlineLevel("Sheet1", "D", 2)

সারি বর্ণনা স্তর পান

func (f *File) GetRowOutlineLevel(sheet string, row int) (uint8, error)

দেয়া গেল শিট নাম এবং সারি নম্বরের উপর ভিত্তি করে আউটলাইন লেভেল পেতে। যেমন, Sheet1 নামের ওয়ার্কশীটের দ্বিতীয় সারির আউটলাইন লেভেল পান।

level, err := f.GetRowOutlineLevel("Sheet1", 2)

কলাম বর্ণনা স্তর পান

func (f *File) GetColOutlineLevel(sheet, col string) (uint8, error)

দেয়া গেল শিট নাম এবং কলাম নামের উপর ভিত্তি করে আউটলাইন লেভেল পান। উদাহরণস্বরূপ, Sheet1 নামের ওয়ার্কশীটের D কলামের আউটলাইন লেভেল পান।

level, err := f.GetColOutlineLevel("Sheet1", "D")

কলাম ইটারেটর

func (f *File) Cols(sheet string) (*Cols, error)

দেয়া গেল শিট নামের উপর ভিত্তি করে নির্দিষ্ট ওয়ার্কশীটের ফলাফল ইটারেটর পান। এই ফাংশনটি সময়ান্তর নিরাপদ। স্ট্রিমিং পঠন এবং সেল পরিভ্রমণের জন্য কলাম ইটারেটর ব্যবহার করুন।

cols, err := f.Cols("Sheet1")
if err != nil {
    fmt.Println(err)
    return
}
for cols.Next() {
    row, err := cols.Rows()
    if err != nil {
        fmt.Println(err)
    }
    for _, rowCell := range col {
        fmt.Print(rowCell, "\t")
    }
    fmt.Println()
}

কলাম ইটারেটর - একক কলামের মান পান

func (cols *Cols) Rows(opts ...Options) ([]string, error)

বর্তমান কলামের সমস্ত সারির মান ফিরিয়ে দিন।

কলাম ইটারেটর - পরিভ্রমণ অপারেশন

func (cols *Cols) Next() bool

পরবর্তী কলামে মান থাকলে true রিটার্ন করুন।

কলাম ইটারেটর - এরর হ্যান্ডলিং

func (cols *Cols) Error() error

পরবর্তী কলাম খোঁজার সময়ে এরর হয়ে তখন একটি এরর রিটার্ন করুন।

সারি ইটারেটর

func (f *File) Rows(sheet string) (*Rows, error)

প্রদত্ত শিট নামের সারি ইটারেটর পেতে। এই ফাংশনটি সময়ান্তর সুরক্ষিত। স্ট্রিমিং পঠনের জন্য সারি ইটারেটর ব্যবহার করুন।

rows, err := f.Rows("Sheet1")
if err != nil {
    fmt.Println(err)
    return
}
for rows.Next() {
    row, err := rows.Columns()
    if err != nil {
        fmt.Println(err)
    }
    for _, colCell := range row {
        fmt.Print(colCell, "\t")
    }
    fmt.Println()
}
if err = rows.Close(); err != nil {
    fmt.Println(err)
}

সারি ইটারেটর - একক সারি অপারেশন

func (rows *Rows) Columns(opts ...Options) ([]string, error)

এই ফাংশনটি ওয়ার্কসিট সারি দিগন্ত দিগন্ত পড়ার জন্য সারির মৌলিক খালি সারি ছাড়া ভ্যালিড সেল পাঠানো শ্রেণির মান ফিরিয়ে দেয়।

সারি ইটারেটর - পরিভ্রমণ অপারেশন

func (rows *Rows) Next() bool

পরবর্তী সারির মান আছে তবে true রিটার্ন করুন।

সারি ইটারেটর - এরর হ্যান্ডলিং

func (rows *Rows) Error() error

পরবর্তী সারি খোঁজার সময

মুদ্রণে অনুসন্ধান

func (f *File) SearchSheet(sheet, value string, reg ...bool) ([]string, error)

নির্দিষ্ট ওয়ার্কসীট নাম, সেলের মান, বা নিয়মিত অভিব্যক্তির ভিত্তিতে স্থানাঙ্ক পেতে। এই ফাংশনটি কেবলমাত্র স্ট্রিং এবং নম্বরের সম্পূর্ণ অনুরূপতা সমর্থন করে, গণনাযুক্ত ফলাফল, বিন্যাসিত সংখ্যা, এবং শর্তাধীন অনুসন্ধানই সমর্থন করে না। যদি অনুসন্ধানের ফলাফল একটি মার্জড সেল হয়, তবে মার্জড অঞ্চলের উপরের বামদিকের স্থানাঙ্ক ফিরয়াদ দেওয়া হবে।

উদাহরণস্বরূপ, Sheet1 নামের ওয়ার্কসীটের মান 100 এর স্থানাঙ্কের জন্য অনুসন্ধান করুনঃ

result, err := f.SearchSheet("Sheet1", "100")

উদাহরণস্বরূপ, Sheet1 নামের ওয়ার্কসীটে 0-9 এর পরিসীমায় সংখ্যার জন্য স্থানাঙ্ক অনুসন্ধান করুনঃ

result, err := f.SearchSheet("Sheet1", "[0-9]", true)

ওয়ার্কসীট সুরক্ষা

func (f *File) ProtectSheet(sheet string, opts *SheetProtectionOptions) error

অন্যান্য ব্যবহারকারীদের কোনও দুরূহ বা ইচ্ছাপূর্বক উপায়ে ওয়ার্কসীটে ডেটা পরিবর্তন, সরান, বা মুছে ফেলার কথা রোধ করুন। বিকল্পগুলি ফিল্ড AlgorithmName হ্যাশ এলগোরিদম XOR, MD4, MD5, SHA-1, SHA-256, SHA-384, বা SHA-512 সূচায়িত করা সমর্থন করে। যদি হ্যাশ এলগোরিদমটি সূচায়িত না হয়, তবে ডিফল্টভাবে XOR এলগোরিদম ব্যবহৃত হবে। উদাহরণস্বরূপ, Sheet1 নামের ওয়ার্কসীটে পাসওয়ার্ড সুরক্ষা সেট করুন কিন্তু লক্ষ্যহীন সেল নির্বাচন, অনলক্ষ্যহীন সেল নির্বাচন, এবং সম্পাদনার সংকেতের স্থিতি অনুমতি দিনঃ

Protect Sheet

err := f.ProtectSheet("Sheet1", &excelize.SheetProtectionOptions{
    AlgorithmName:       "SHA-512",
    Password:            "password",
    SelectLockedCells:   true,
    SelectUnlockedCells: true,
    EditScenarios:       true,
})

SheetProtectionOptions ওয়ার্কসীট সুরক্ষার জন্য সেটিংস বিকল্প নির্ধারণ করে।

type SheetProtectionOptions struct {
    AlgorithmName       string
    AutoFilter          bool
    DeleteColumns       bool
    DeleteRows          bool
    EditObjects         bool
    EditScenarios       bool
    FormatCells         bool
    FormatColumns       bool
    FormatRows          bool
    InsertColumns       bool
    InsertHyperlinks    bool
    InsertRows          bool
    Password            string
    PivotTables         bool
    SelectLockedCells   bool
    SelectUnlockedCells bool
    Sort                bool
}

ওয়ার্কসীট আনপ্রোটেক্ট

func (f *File) UnprotectSheet(sheet string, password ...string) error

নির্দিষ্ট ওয়ার্কসীটের নাম অনুযায়ী ওয়ার্কসীট অনপ্রোটেক্ট করুন, এবং পাসওয়ার্ড যাচাই দ্বারা ওয়ার্কসীট সুরক্ষা বাতিল করার জন্য দ্বিতীয় ঐচ্ছিক পাসওয়ার্ড প্যারামিটার সুনির্দিষ্ট করুন।

কলাম সরানো

func (f *File) RemoveCol(sheet, col string) error

নির্দিষ্ট ওয়ার্কসীট নাম এবং কলাম নাম অনুযায়ী বিশেষ কলামটি মুছে ফেলুন। উদাহরণস্বরূপ, Sheet1 নামের ওয়ার্কসীটে C কলাম মুছে ফেলুনঃ

err := f.RemoveCol("Sheet1", "C")

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

সারিগুলি মুছে ফেলুন

func (f *File) RemoveRow(sheet string, row int) error

নির্দিষ্ট ওয়ার্কসীট নাম এবং সারি নম্বর অনুযায়ী বিশেষ সারিটি মোছা ফেলুন। উদাহরণস্বরূপ, Sheet1 নামের ওয়ার্কসীটে 3 য়া সারি মুছে ফেলুনঃ

err := f.RemoveRow("Sheet1", 3)

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

কলামে মান বরাদ্দ দিন

func (f *File) SetSheetCol(sheet, cell string, slice interface{}) error

দেওয়া ওয়ার্কসীটের নাম, শুরুর স্থানাঙ্ক, এবং slice টাইপের রেফারেন্স অনুযায়ী মান বরাদ্দ করুন। উদাহরণস্বরূপ, Sheet1 নামের ওয়ার্কসীটের কলাম B এর উপরে এক্সিসের মান বরাদ্দ করুন, যাতে শুরুটি B6 হয়ে, মান হবে &[]interface{}{"1", nil, 2}ঃ

err := f.SetSheetCol("Sheet1", "B6", &[]interface{}{"1", nil, 2})

সারিতে নির্ধারণ করুন

func (f *File) SetSheetRow(sheet, cell string, slice interface{}) error

দেওয়া যাবে প্রথমিক বরাদ্দের অনুমানে, ছিটির নাম, শুরুর স্থান এবং slice এর সাথে সম্পর্কিত রেফারেন্স দিয়ে সারিতে মান নির্ধারণ করে। এই ফাংশন সংকল্পনা-নিরাপত্তা সবসময় রক্ষা করে। উদাহরণস্বরূপ, Sheet1 নামের ছিটির 6 ষ্ট্রো এর উপরে, প্রাথমিক সেল হতে B6 শুরু করে সারিতে মান নির্ধারণ করা যাবে:

err := f.SetSheetRow("Sheet1", "B6", &[]interface{}{"1", nil, 2})

পেজ ব্রেক ঢুকিয়ে দিন

func (f *File) InsertPageBreak(sheet, cell string) error

দেওয়া যাবে প্রথমিক বরাদ্দের ভিত্তিতে ছিটির নাম এবং সেলের স্থান অনুযায়ী পেজ ব্রেক ঢুকান। পেজ ব্রেক ছাড়া কিনা একটি পৃষ্ঠা বিভাজন করে যা ছবি বিতরণের জন্য ছিটিকা আলাদা পৃষ্ঠার রেখাগুলি।

পেজ ব্রেক সরান

func (f *File) RemovePageBreak(sheet, cell string) error

দেওয়া যাবে প্রথমিক বরাদ্দের ভিত্তিতে ছিটির নাম এবং সেলের স্থান অনুযায়ী পেজ ব্রেক সরান।

ছিটির মাত্রা নির্ধারণ করুন

func (f *File) SetSheetDimension(sheet string, rangeRef string) error

দেওয়া যাবে প্রথমিক বরাদ্দের ভিত্তিতে ছিটির নাম এবং সেলের স্থান বা সেল স্থান বিন্যাস অনুযায়ী ছিটির ব্যবহার এলাকা সেট করে বা সরান। ব্যবহিত সেলগুলি হল: ফর্মুলা, টেক্সট বিষয়, এবং সেল বিন্যাস, উদাহরণস্বরূপ, A1:D5। যখন দেওয়া সেলটির বিন্যাস রেঞ্জটি খালি স্ট্রিং হয়, তখন এটি যথাযথ ছিটির ব্যবহার এলাকা সরাবে।

ছিটির মাত্রা অর্জন করুন

func (f *File) GetSheetDimension(sheet string) (string, error)

প্রদত্ত ছিটির নামে ভিত্তি করে ব্যবহৃত এলাকা অর্জন করে।