Aspose.Cells FOSS for Go एक मुफ्त, ओपन-सोर्स लाइब्रेरी है जो Go अनुप्रयोगों में Excel स्प्रेडशीट फ़ाइलों के साथ काम करने के लिए उपयोग की जाती है। इसे go get github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go/v26 के साथ इंस्टॉल करें और वर्कबुक बनाना, सेल पढ़ना और लिखना, स्टाइल लागू करना, डेटा वैलिडेशन जोड़ना, और CSV में एक्सपोर्ट करना शुरू करें, बिना Microsoft Excel या किसी Office निर्भरता की आवश्यकता के।
लाइब्रेरी एक छोटा, आदर्श Go API प्रदान करती है जो Workbook, Worksheet, Cells, और Cell के आसपास निर्मित है। Cells() संग्रह के माध्यम से Get/Set/Remove के साथ सेल तक पहुँचें, Font, Fill, Alignment, और Border से निर्मित पुन: उपयोग योग्य Style वस्तुओं में फ़ॉर्मेटिंग को समूहित करें, और हेडर पंक्ति और नामित टेबल स्टाइल के साथ संरचित Table रेंज बनाएं। एक समर्पित StreamingReader .xlsx वर्कबुक्स को पंक्ति दर पंक्ति एक कॉलबैक के माध्यम से पढ़ता है, जिससे बड़े फ़ाइलों को पूरी शीट को मेमोरी में लोड किए बिना प्रोसेस किया जा सकता है।
go.mod कोई बाहरी निर्भरताएँ घोषित नहीं करता — लाइब्रेरी पूरी तरह से Go स्टैंडर्ड लाइब्रेरी पर निर्मित है। यह MIT लाइसेंस वाली है, GitHub पर होस्ट की गई है, और एक ही go get कमांड से इंस्टॉल होती है; कोई cgo नहीं, कोई नेटिव Office लाइब्रेरी नहीं, और कोई सिस्टम पैकेज कॉन्फ़िगर करने की आवश्यकता नहीं। एंटरप्राइज़ प्रोडक्ट फैमिली के लिए, देखें Aspose.Cells — Enterprise Product Family.
Cells().Get(ref) / Cells().Set(ref, value) के साथ पढ़ें और लिखें।Cell.SetFormula/GetFormula सेल में फ़ॉर्मूला स्ट्रिंग संग्रहीत करते हैं — इसे Excel या LibreOffice द्वारा खोलते समय मूल्यांकित किया जाता है, सहेजते समय लाइब्रेरी द्वारा नहीं।Workbook.ExportToCSV/ImportFromCSV और Worksheet.ToCSV/FromCSV XLSX और CSV के बीच रूपांतरण करते हैं।StreamingReader.ProcessRows एक कॉलबैक के माध्यम से कार्यपत्रक को पंक्ति दर पंक्ति स्ट्रीम करता है, जिससे बड़ी फ़ाइलों को पूरी शीट को मेमोरी में लोड किए बिना प्रोसेस किया जा सकता है।Workbook.SetPassword/VerifyPassword कार्यपुस्तिका के पासवर्ड को सुरक्षित और जाँचते हैं।StreamingReader का उपयोग करके बहु-हजार पंक्तियों वाले वर्कबुक को मेमोरी में पूरी तरह लोड किए बिना स्ट्रीम करें।Font (name, size, bold, italic, color), Fill (type, color), Alignment (horizontal, vertical, wrap text), और Border (top/bottom/left/right, color) को पुन: उपयोग योग्य Style में सम्मिलित किया जाता है, जिसे Cell.SetStyle से लागू किया जाता है।Worksheet.AddDataValidation सूची और पूर्णांक रेंज वैधता नियमों को संलग्न करता है, प्रत्येक में एक कस्टम त्रुटि शीर्षक, संदेश, और त्रुटि शैली होती है।Worksheet.AddTable/GetTable एक संरचित Table रेंज बनाते हैं जिसमें वैकल्पिक हेडर पंक्ति और एक नामित टेबल शैली होती है।Worksheet.AddPicture एक छवि Picture को एम्बेड करता है जिसमें SetAnchor(row, col) पोजिशनिंग होती है।Aspose.Cells FOSS for Go एक ही go get github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go/v26 कमांड से स्थापित होता है। go.mod में कोई require एंट्री नहीं है — कोई बाहरी निर्भरताएँ नहीं हैं जिन्हें सत्यापित या विक्रेता किया जाना हो।
The API सतह जानबूझकर संक्षिप्त है: Workbook, Worksheet, Cells, Cell, Style, और कुछ सहायक प्रकार स्प्रेडशीट निर्माण, स्टाइलिंग, वैधता, और CSV/स्ट्रीमिंग I/O को कवर करते हैं। कोडबेस MIT-लाइसेंस वाला है और GitHub पर होस्ट किया गया है।
go get के साथ इंस्टॉल करें, एक Workbook बनाएं, पहले Worksheet तक पहुंचें, और सहेजने से पहले Cells() संग्रह के माध्यम से मानों को सीधे कोशिकाओं में लिखें।
go get github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go/v26func main() {
wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]
ws.Cells().Set("A1", "Hello")
ws.Cells().Set("B1", "World")
ws.Cells().Set("A2", "Answer")
ws.Cells().Set("B2", 42)
outPath := "outputfiles/basic.xlsx"
if err := wb.Save(outPath); err != nil {
fmt.Printf("Error saving workbook: %v\n", err)
return
}
fmt.Printf("Workbook saved to %s\n", outPath)
}
दो अलग-अलग कॉलमों पर सूची-प्रकार की वैधता (अनुमत मानों की ड्रॉपडाउन) और पूर्णांक-रेंज वैधता संलग्न करें, प्रत्येक का अपना त्रुटि शीर्षक और संदेश हो।
func main() {
wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]
ws.Cells().Set("A1", "Fruit")
ws.Cells().Set("A2", "Apple")
ws.Cells().Set("A3", "Banana")
dv := &cells_foss.DataValidation{
Type: cells_foss.DataValidationTypeList,
Formula1: `"Apple,Banana,Cherry,Dragonfruit"`,
AllowBlank: true,
ShowErrorMessage: true,
ErrorTitle: "Invalid Fruit",
ErrorMessage: "Please pick a fruit from the list.",
ErrorStyle: cells_foss.ErrorStyleStop,
}
if err := ws.AddDataValidation("A2:A10", dv); err != nil {
fmt.Printf("Error: %v\n", err)
return
}
dv2 := &cells_foss.DataValidation{
Type: cells_foss.DataValidationTypeWhole,
Formula1: "1",
Formula2: "100",
ShowErrorMessage: true,
ErrorTitle: "Invalid Value",
ErrorMessage: "Enter a whole number between 1 and 100.",
ErrorStyle: cells_foss.ErrorStyleWarning,
}
ws.Cells().Set("B1", "Score (1-100)")
ws.AddDataValidation("B2:B10", dv2)
outPath := "outputfiles/data_validation.xlsx"
if err := wb.Save(outPath); err != nil {
fmt.Printf("Error saving workbook: %v\n", err)
return
}
fmt.Printf("Workbook saved to %s\n", outPath)
}
StreamingReader एक callback के माध्यम से एक समय में एक पंक्ति पढ़ता है, इसलिए हजारों-पंक्तियों वाला workbook पूरी तरह मेमोरी में लोड नहीं करना पड़ता।
func main() {
genPath := "outputfiles/streaming_data.xlsx"
sr := cells_foss.NewStreamingReader(genPath)
rowCount := 0
var totalScore float64
err := sr.ProcessRows("Sheet1", func(rowIdx int, cells map[string]string) error {
rowCount++
if rowIdx == 1 {
fmt.Printf(" Header: %v\n", cells)
return nil
}
if score, ok := cells["C"+fmt.Sprint(rowIdx)]; ok {
var s float64
fmt.Sscanf(score, "%f", &s)
totalScore += s
}
return nil
})
if err != nil {
fmt.Fprintf(os.Stderr, "Error streaming: %v\n", err)
os.Exit(1)
}
fmt.Printf("Streamed %d rows (header + %d data rows)\n", rowCount, rowCount-1)
}
Aspose.Cells FOSS for Go को MIT लाइसेंस के तहत जारी किया गया है, जो व्यावसायिक और ओपन-सोर्स उपयोग की अनुमति देता है।
हाँ। MIT लाइसेंस व्यावसायिक उपयोग की अनुमति देता है बिना आपके अपने स्रोत कोड को प्रकट करने की कोई बाध्यता के, बशर्ते मूल कॉपीराइट नोटिस बरकरार रखा जाए।
इसे go get github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go/v26 के साथ Go मॉड्यूल निर्भरता के रूप में जोड़ें। Go 1.24 या बाद का संस्करण आवश्यक है।
नहीं। go.mod कोई require एंट्रीज़ घोषित नहीं करता — लाइब्रेरी पूरी तरह से Go मानक लाइब्रेरी पर निर्मित है।
हाँ। StreamingReader.ProcessRows एक कॉलबैक के माध्यम से वर्कशीट को पंक्ति दर पंक्ति पढ़ता है, जिससे पूरी इन-मेमोरी लोड से बचा जा सके।