Go में स्प्रेडशीट कैसे लोड करें
Aspose.Cells FOSS for Go एक मौजूदा .xlsx वर्कबुक को मेमोरी में Workbook के रूप में लोड करता है, जिससे आपको इसके वर्कशीट्स और सेल्स तक मानक लाइब्रेरी API के माध्यम से पूरी पहुँच मिलती है। शुरू करने से पहले go get के साथ मॉड्यूल इंस्टॉल करें।
स्टेप-बाय-स्टेप गाइड
स्टेप 1: पैकेज इंस्टॉल करें
go get github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go/v26इंस्टॉल करने के बाद अपने go.mod में मॉड्यूल संस्करण की पुष्टि करें।
स्टेप 2: आवश्यक क्लासेस इम्पोर्ट करें
import (
cells_foss "github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go/v26/aspose/cells_foss"
)चरण 3: लोड करने के लिए एक वर्कबुक बनाएं और भरें
यह उदाहरण पहले एक वर्कबुक बनाता है ताकि लोड करने के लिए एक वास्तविक .xlsx फ़ाइल हो — अपने कोड में, मौजूदा स्प्रेडशीट का पथ बदलें:
wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]
ws.Cells().Set("A1", "Product")
ws.Cells().Set("B1", "Price")
ws.Cells().Set("A2", "Widget A")
ws.Cells().Set("B2", 12.99)
wb.Save("outputfiles/products.xlsx")चरण 4: लोड किए गए कार्यपत्रक से सेल मान पढ़ें
पहले कार्यपत्रक तक Worksheets[0] के माध्यम से पहुँचें और व्यक्तिगत सेल्स को Cells().Get(ref) से पढ़ें:
wb := cells_foss.NewWorkbook()
wb.Worksheets[0].Cells().Set("B2", 12.99)
ws2 := wb.Worksheets[0]
cell, err := ws2.Cells().Get("B2")
if err != nil {
fmt.Printf("Error reading cell: %v\n", err)
return
}
fmt.Printf("Price: %v\n", cell.Value)चरण 5: सभी भरे हुए सेल्स को सूचीबद्ध करें
जब आपको सेट किए गए प्रत्येक सेल पर इटरेट करना हो, न कि एक-एक करके ज्ञात रेफ़रेंसेज़ पढ़ना, तो Cells().All() का उपयोग करें:
wb := cells_foss.NewWorkbook()
ws2 := wb.Worksheets[0]
ws2.Cells().Set("A1", "Product")
allCells := ws2.Cells().All()
for ref, c := range allCells {
fmt.Printf("%s = %v\n", ref, c.Value)
}सामान्य समस्याएँ और समाधान
Get सेल रेफ़रेंस के लिए एक त्रुटि लौटाता है। रेफ़रेंस अभी तक संग्रह में सेट नहीं किया गया है। पुष्टि करें कि सेल को लिखा गया था Set, या लौटाए गए को जांचें error सेल का उपयोग करने से पहले स्पष्ट रूप से जाँचें।
मान गलत प्रकार के दिख रहे हैं। Cell.Value जो भी प्रकार पास किया गया था, उसे दर्शाता है Set (string, int, float64, आदि) — यदि आपको अंतर्निहित Go प्रकार के आधार पर शाखा बनानी है तो टाइप स्विच के साथ इसे जाँचें।
लोड किया गया वर्कबुक अपेक्षित शीट पर कोई डेटा नहीं रखता। पुष्टि करें कि आप सही प्रविष्टि को अनुक्रमित कर रहे हैं Worksheets — एक वर्कबुक में एक से अधिक वर्कशीट हो सकती हैं, और लक्ष्य डेटा उस पर नहीं हो सकता Worksheets[0].
अक्सर पूछे जाने वाले प्रश्न
क्या वर्कबुक लोड करने के लिए मूल फ़ाइल का डिस्क पर अभी भी मौजूद होना आवश्यक है?
हाँ — Workbook उस फ़ाइल पथ से पढ़ता है जिसे आप प्रदान करते हैं। लोड की अवधि तक स्रोत फ़ाइल को सुलभ रखें।
क्या मैं लोड करने के बाद किसी सेल को संशोधित कर सकता हूँ और बदलावों को वापस सहेज सकता हूँ?
हाँ — Cells().Set लोड किए गए वर्कबुक पर उसी तरह काम करता है जैसे यह नई बनाई गई पर करता है; अपने बदलावों को लिखने के लिए Save को फिर से कॉल करें।
क्या पूरी फ़ाइल को मेमोरी में लोड करने से बचने का कोई तरीका है?
हाँ — बड़े फ़ाइलों के लिए StreamingReader.ProcessRows का उपयोग करें जहाँ आपको केवल पंक्तियों को क्रमशः पढ़ने की आवश्यकता होती है, न कि पूरे वर्कबुक को लोड करना।