Go (Golang) में Excel के साथ काम करना: पूर्ण गाइड
इस तथ्य के बावजूद कि Python डेटा प्रोसेसिंग के क्षेत्र में निर्विवाद नेता बना हुआ है, Go (Golang) का उपयोग तेजी से हाई-परफॉरमेंस सर्वर एप्लिकेशन बनाने के लिए किया जा रहा है, जहाँ त्वरित रिपोर्ट जनरेशन, टेबल से डेटा आयात या अकाउंटिंग सिस्टम के साथ एकीकरण की आवश्यकता होती है। इस लेख में, हम Go में Excel के साथ काम करने के लिए तीन सबसे लोकप्रिय लाइब्रेरीज़ पर विचार करेंगे: Excelize, xlsx (tealeg) और xlsx (qax-os)। आप सीखेंगे कि XLSX फ़ाइलों को कैसे पढ़ें, बनाएँ और फ़ॉर्मेट करें, साथ ही तैयार कोड उदाहरण भी प्राप्त करेंगे।
Excel के लिए Go क्यों?
Go नेटिव कोड में कंपाइल होता है, कम मेमोरी की खपत करता है और बेहतरीन स्केलेबिलिटी प्रदान करता है। Go में Excel के लिए लाइब्रेरीज़ बिज़नेस एप्लिकेशन की ज़रूरतों को पूरी तरह से कवर करती हैं: सरल डेटा एक्सपोर्ट से लेकर मर्ज किए गए सेल, स्टाइल और चार्ट के साथ जटिल फ़ॉर्मेटिंग तक। साथ ही, Go को ऑफिस सूट या Microsoft Office Interop की स्थापना की आवश्यकता नहीं होती है — सभी ऑपरेशन सीधे OOXML की XML संरचना पर किए जाते हैं।
1. Excelize — Go के लिए सबसे शक्तिशाली लाइब्रेरी
Excelize एक pure Go लाइब्रेरी है जो XLSX, XLSM, XLTM फ़ाइलों को पढ़ने और लिखने के साथ-साथ चार्ट, इमेज, टेबल, कंडीशनल फ़ॉर्मेटिंग और पिवट टेबल के साथ काम करने का समर्थन करती है। यह सक्रिय रूप से विकसित हो रही है और Excel के लिए Go समाधानों में सबसे बड़ा समुदाय है।
स्थापना
go get github.com/xuri/excelize/v2उदाहरण: फ़ॉर्मेटिंग के साथ Excel फ़ाइल बनाना
package main
import ( "fmt" "github.com/xuri/excelize/v2")
func main() { f := excelize.NewFile() defer f.Close()
// नई शीट बनाएँ index := f.NewSheet("Sheet2") f.SetCellValue("Sheet2", "A1", "नाम") f.SetCellValue("Sheet2", "B1", "मात्रा") f.SetCellValue("Sheet2", "A2", "उत्पाद A") f.SetCellValue("Sheet2", "B2", 150)
// हेडर के लिए स्टाइल सेट करें style, _ := f.NewStyle(&excelize.Style{ Font: &excelize.Font{Bold: true, Color: "FFFFFF"}, Fill: excelize.Fill{Type: "pattern", Pattern: 1, Color: []string{"4472C4"}}, }) f.SetCellStyle("Sheet2", "A1", "B1", style)
// पहली शीट को सक्रिय सेट करें f.SetActiveSheet(index)
// फ़ाइल सेव करें if err := f.SaveAs("रिपोर्ट.xlsx"); err != nil { fmt.Println(err) }}मौजूदा फ़ाइल पढ़ना
package main
import ( "fmt" "github.com/xuri/excelize/v2")
func main() { f, err := excelize.OpenFile("रिपोर्ट.xlsx") if err != nil { fmt.Println(err) return } defer f.Close()
// सेल से मान पढ़ें cell, _ := f.GetCellValue("Sheet2", "A2") fmt.Println("A2 का मान:", cell)
// शीट की सभी पंक्तियाँ पढ़ें rows, _ := f.GetRows("Sheet2") for _, row := range rows { for _, col := range row { fmt.Print(col, "\\t") } fmt.Println() }}2. xlsx (tealeg) — हल्का और तेज़ पार्सर
tealeg/xlsx लाइब्रेरी XLSX को पढ़ने और लिखने का एक क्लासिक टूल है। यह Excelize की तुलना में सरल है, लेकिन बुनियादी कार्यों को बखूबी संभालती है। यह स्टाइल, सेल मर्जिंग, टिप्पणियाँ और कंडीशनल फ़ॉर्मेटिंग का समर्थन करती है।
स्थापना
go get github.com/tealeg/xlsx/v3उदाहरण: डेटा लिखना
package main
import ( "github.com/tealeg/xlsx/v3")
func main() { wb := xlsx.NewFile() sheet, _ := wb.AddSheet("डेटा")
// पंक्ति जोड़ें row := sheet.AddRow() cell1 := row.AddCell() cell1.Value = "नाम" cell2 := row.AddCell() cell2.Value = "आयु"
row2 := sheet.AddRow() row2.AddCell().SetStrin