এক্সেল এক্সএলএসএক্স ফাইল পড়ার জন্য ওপেন সোর্স গো লাইব্রেরি
ওপেন সোর্স গো API এর মাধ্যমে XLSX নথি পড়ুন।
Go-Excel হল Microsoft Excel নথি পড়ার জন্য একটি ওপেন সোর্স লাইটওয়েট পিওর গো লাইব্রেরি। API-এর লক্ষ্য হল রিলেট-ডিবি-মত টেবিল হিসাবে XLSX ফাইলগুলি পড়ার একটি সহজ এবং সহজ উপায় প্রদান করা। একটি XLSX ফাইল পড়ার সময়, API শিরোনাম সারি হিসাবে প্রথম সারি এবং ডেটা সারি হিসাবে সারিগুলি আশা করে৷
এপিআই এক্সেল ডকুমেন্ট ম্যানিপুলেট করার জন্য ট্যাগের একটি সেট প্রদান করে। কলাম ট্যাগ শিরোনাম সারির ক্ষেত্রের নামের সাথে মানচিত্র করে, ডিফল্ট ট্যাগ ডিফল্ট মান সেট করে যখন কোনো মান সংজ্ঞায়িত করা হয় না, বিভক্ত ট্যাগ একটি স্ট্রিংকে বিভক্ত করে এবং একটি স্লাইসে রূপান্তর করে, শূন্য ট্যাগ ঘরের স্ক্যান মানকে এড়িয়ে যায় এবং অনুরোধ করে কলামের শিরোনাম Excel-এ বিদ্যমান না থাকলে ট্যাগ একটি ত্রুটি প্রদান করে।
Go-Excel দিয়ে শুরু করা
আপনার প্রকল্পে Go-Excel ইনস্টল করার প্রস্তাবিত উপায় হল GitHub ব্যবহার করে৷ একটি মসৃণ ইনস্টলেশনের জন্য অনুগ্রহ করে নিম্নলিখিত কমান্ডটি ব্যবহার করুন।
GitHub এর মাধ্যমে go-excel ইনস্টল করুন
go get github.com/szyhf/go-excel
Free Go API এর মাধ্যমে এক্সেল ফাইল পড়ুন
ওপেন সোর্স লাইব্রেরি Go-Excel কম্পিউটার প্রোগ্রামারদের GO এর মাধ্যমে এক্সেল ফাইল পড়তে দেয়। এক্সেল ফাইলটি পড়ার সময়, আপনি ক্ষেত্রের নামটি ডিফল্ট কলামের নাম হিসাবে ব্যবহার করতে পারেন এবং আপনি একাধিক ক্ষেত্রে একটি কলাম ম্যাপ করতে পারেন। পড়ার বিকল্পগুলি সেট করার পরে আপনি excel.NewConnector() পদ্ধতি ব্যবহার করে একটি Excel ফাইলের সাথে একটি নতুন সংযোগ খোলেন এবং সফল, এক্সেল ফাইলের সাথে সংযোগ করে আপনি conn.NewReader() পদ্ধতি ব্যবহার করে এর বিষয়বস্তু পড়তে পারেন৷
গো অ্যাপসে এক্সেল ফাইল পড়ার জন্য সহজ পাঠক
type Reader interface {
// Get all titles sorted
GetTitles() []string
// Read current row into a object
Read(v interface{}) error
// Read all rows
// container: container should be ptr to slice or array.
ReadAll(container interface{}) error
// Read next rows
Next() bool
// Close the reader
Close() error
}
GO API এর মাধ্যমে এক্সেল পড়ার জন্য অগ্রিম পদ্ধতি
ওপেন সোর্স এপিআই গো-এক্সেল এক্সেল ফাইল পড়ার জন্য মৌলিক এবং উন্নত পদ্ধতি প্রদান করে। আপনি শিরোনাম হিসাবে সূচী সারি ব্যবহার করতে পারেন, শিরোনাম সারির আগে প্রতিটি সারি উপেক্ষা করা হবে এবং ডিফল্ট শিরোনাম সারিটি 0 এ সেট করা হবে। আপনি খালি সারিগুলি এড়িয়ে যেতে পারেন এবং শিরোনামের চেয়ে বড় কলামগুলি এড়িয়ে যেতে পারেন। এপিআই ডিফল্ট মান সহ খালি ঘর সেট করার অনুমতি দেয় এবং আপনি এনকোডিংয়ের মাধ্যমে আনমার্শাল ব্যবহার করে ডিফল্ট মান সেট করতে পারেন। BinaryUnmarshaler
ফ্রি GO API এর মাধ্যমে মানচিত্র পড়ুন
conn := excel.NewConnecter()
err := conn.Open(filePath)
if err != nil {
fmt.Println(err)
return
}
defer conn.Close()
// Generate an new reader of a sheet
// sheetNamer: if sheetNamer is string, will use sheet as sheet name.
// if sheetNamer is int, will i'th sheet in the workbook, be careful the hidden sheet is counted. i ∈ [1,+inf]
// if sheetNamer is a object implements `GetXLSXSheetName()string`, the return value will be used.
// otherwise, will use sheetNamer as struct and reflect for it's name.
// if sheetNamer is a slice, the type of element will be used to infer like before.
rd, err := conn.NewReader(stdSheetName)
if err != nil {
fmt.Println(err)
return
}
defer rd.Close()
idx := 0
for rd.Next() {
var m map[string]string
if err := rd.Read(&m); err != nil {
fmt.Println(err)
return
}
expectStdMap := expectStandardMapList[idx]
if !reflect.DeepEqual(m, expectStdMap) {
fmt.Printf("unexpect std at %d = \n%s", idx, convert.MustJsonPrettyString(expectStdMap))
}
fmt.Printf("%d => %s\n", idx, convert.MustJsonString(m))
idx++
}