Go (Golang) में Excel के साथ कार्य: लाइब्रेरीज़ का अवलोकन और व्यावहारिक उदाहरण
Go (Golang) एक आधुनिक कंपाइल की जाने वाली प्रोग्रामिंग भाषा है, जिसका उपयोग सर्वर एप्लिकेशन, डेटा प्रोसेसिंग और ऑफिस कार्यों के ऑटोमेशन के लिए तेजी से किया जा रहा है। एक सामान्य आवश्यकता Excel स्प्रेडशीट के साथ कार्य करना है। इस लेख में, हम Go में Excel के साथ कार्य करने के लिए मुख्य लाइब्रेरीज़, उनकी क्षमताओं की समीक्षा करेंगे और व्यावहारिक कोड उदाहरण प्रस्तुत करेंगे।
Go में Excel के साथ कार्य करने के लिए मुख्य लाइब्रेरीज़
वर्तमान में, दो लाइब्रेरीज़ सबसे लोकप्रिय और कार्यात्मक हैं:
- excelize (github.com/qax-os/excelize) — Excel फ़ाइलों (.xlsx फ़ॉर्मेट) को पढ़ने और लिखने के लिए एक शक्तिशाली लाइब्रेरी। यह स्टाइल, फ़ॉर्मूले, चार्ट, सेल मर्जिंग, शीट सुरक्षा और बहुत कुछ सपोर्ट करता है।
- tealeg/xlsx (github.com/tealeg/xlsx) — .xlsx फ़ाइलों को पढ़ने और लिखने के बुनियादी कार्यों के लिए एक हल्की लाइब्रेरी। इसे सीखना आसान है, लेकिन इसमें कम क्षमताएं हैं।
इस गाइड में, हम excelize लाइब्रेरी पर ध्यान केंद्रित करेंगे, क्योंकि यह Go में Excel के साथ कार्य करने के लिए डी-फैक्टो मानक है।
excelize लाइब्रेरी की स्थापना
आरंभ करने के लिए, Go पैकेज मैनेजर का उपयोग करके लाइब्रेरी स्थापित करें:
go get github.com/qax-os/excelize/v2स्थापना के बाद, इसे प्रोजेक्ट में इम्पोर्ट किया जा सकता है:
import "github.com/qax-os/excelize/v2"नई Excel फ़ाइल बनाना
आइए बिक्री डेटा के साथ एक सरल फ़ाइल बनाएं:
package main
import ( "fmt" "github.com/qax-os/excelize/v2")
func main() { // नई फ़ाइल बनाएं f := excelize.NewFile() defer f.Close()
// नई शीट बनाएं index := f.NewSheet("बिक्री") // सेल मान सेट करें f.SetCellValue("बिक्री", "A1", "उत्पाद") f.SetCellValue("बिक्री", "B1", "मात्रा") f.SetCellValue("बिक्री", "C1", "मूल्य") f.SetCellValue("बिक्री", "A2", "लैपटॉप") f.SetCellValue("बिक्री", "B2", 15) f.SetCellValue("बिक्री", "C2", 85000) f.SetCellValue("बिक्री", "A3", "मॉनिटर") f.SetCellValue("बिक्री", "B3", 30) f.SetCellValue("बिक्री", "C3", 32000)
// सक्रिय शीट सेट करें f.SetActiveSheet(index)
// फ़ाइल सहेजें if err := f.SaveAs("sales.xlsx"); err != nil { fmt.Println(err) } fmt.Println("फ़ाइल सफलतापूर्वक बनाई गई!") }मौजूदा Excel फ़ाइल पढ़ना
अब पहले बनाई गई फ़ाइल को पढ़ें और कंसोल में डेटा प्रदर्शित करें:
package main
import ( "fmt" "github.com/qax-os/excelize/v2")
func main() { f, err := excelize.OpenFile("sales.xlsx") if err != nil { fmt.Println(err) return } defer f.Close()
// "बिक्री" शीट से सभी पंक्तियाँ प्राप्त करें rows, err := f.GetRows("बिक्री") if err != nil { fmt.Println(err) return }
for _, row := range rows { for _, colCell := range row { fmt.Print(colCell, "\\t") } fmt.Println() }}सेल फ़ॉर्मेटिंग और स्टाइल
excelize की एक मजबूत विशेषता स्टाइल का समर्थन है। यहाँ एक उदाहरण है कि हेडिंग को बोल्ड कैसे करें और बॉर्डर कैसे जोड़ें:
package main
import ( "fmt" "github.com/qax-os/excelize/v2")
func main() { f := excelize.NewFile() defer f.Close()
// हेडिंग के लिए स्टाइल बनाएं style, err := f.NewStyle(&excelize.Style{ Font: &excelize.Font{ Bold: true, Size: 12, }, Border: []excelize.Border{ {Type: "left", Color: "000000", Style: 1}, {Type: "right", Color: "000000", Style: 1}, {Type: "top", Color: "000000", Style: 1}, {Type: "bottom", Color: "000000", S