1. उत्पादों
  2.   Aspose.Cells
  3.   Aspose.Cells FOSS for Go

Go के लिए Aspose.Cells FOSS

Go से Excel स्प्रेडशीट बनाएं, संशोधित करें, और निर्यात करें — नि:शुल्क और ओपन-सोर्स, शून्य बाहरी निर्भरताएँ।

एक्सेल स्प्रेडशीट्स के लिए ओपन-सोर्स Go लाइब्रेरी

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.

Excel फ़ाइलें पढ़ें और लिखें

  • Cell access: मानों को Cells().Get(ref) / Cells().Set(ref, value) के साथ पढ़ें और लिखें।
  • Formulas: Cell.SetFormula/GetFormula सेल में फ़ॉर्मूला स्ट्रिंग संग्रहीत करते हैं — इसे Excel या LibreOffice द्वारा खोलते समय मूल्यांकित किया जाता है, सहेजते समय लाइब्रेरी द्वारा नहीं।
  • CSV interop: Workbook.ExportToCSV/ImportFromCSV और Worksheet.ToCSV/FromCSV XLSX और CSV के बीच रूपांतरण करते हैं।
  • Streaming reads: StreamingReader.ProcessRows एक कॉलबैक के माध्यम से कार्यपत्रक को पंक्ति दर पंक्ति स्ट्रीम करता है, जिससे बड़ी फ़ाइलों को पूरी शीट को मेमोरी में लोड किए बिना प्रोसेस किया जा सकता है।
  • Password protection: Workbook.SetPassword/VerifyPassword कार्यपुस्तिका के पासवर्ड को सुरक्षित और जाँचते हैं।

जहाँ Aspose.Cells FOSS का उपयोग किया जा सकता है

  • डेटा पाइपलाइन: डेटाबेस क्वेरी परिणामों को सीधे XLSX या CSV में निर्यात करें।
  • रिपोर्ट जनरेशन: Go बैकएंड सेवा से स्टाइल्ड Excel रिपोर्ट बनाएं।
  • बड़ी फ़ाइल प्रोसेसिंग: StreamingReader का उपयोग करके बहु-हजार पंक्तियों वाले वर्कबुक को मेमोरी में पूरी तरह लोड किए बिना स्ट्रीम करें।
  • ETL वर्कफ़्लो: इनपुट शीट्स पढ़ें, डेटा को ट्रांसफ़ॉर्म करें, और आउटपुट वर्कबुक लिखें।
  • CI/CD ऑटोमेशन: Go-आधारित बिल्ड पाइपलाइन्स और Docker कंटेनरों के अंदर स्प्रेडशीट आर्टिफ़ैक्ट्स जनरेट करें।

स्टाइलिंग, डेटा वैधता, और तालिकाएँ

  • Style objects: ग्रुप Font (name, size, bold, italic, color), Fill (type, color), Alignment (horizontal, vertical, wrap text), और Border (top/bottom/left/right, color) को पुन: उपयोग योग्य Style में सम्मिलित किया जाता है, जिसे Cell.SetStyle से लागू किया जाता है।
  • Data validation: Worksheet.AddDataValidation सूची और पूर्णांक रेंज वैधता नियमों को संलग्न करता है, प्रत्येक में एक कस्टम त्रुटि शीर्षक, संदेश, और त्रुटि शैली होती है।
  • Tables: Worksheet.AddTable/GetTable एक संरचित Table रेंज बनाते हैं जिसमें वैकल्पिक हेडर पंक्ति और एक नामित टेबल शैली होती है।
  • Pictures: 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/v26
func 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 के लिए लाइसेंसिंग मॉडल क्या है?

Aspose.Cells FOSS for Go को MIT लाइसेंस के तहत जारी किया गया है, जो व्यावसायिक और ओपन-सोर्स उपयोग की अनुमति देता है।

क्या मैं इसे व्यावसायिक उत्पादों में उपयोग कर सकता हूँ?

हाँ। MIT लाइसेंस व्यावसायिक उपयोग की अनुमति देता है बिना आपके अपने स्रोत कोड को प्रकट करने की कोई बाध्यता के, बशर्ते मूल कॉपीराइट नोटिस बरकरार रखा जाए।

मैं Aspose.Cells FOSS for Go को कैसे स्थापित करूँ?

इसे go get github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go/v26 के साथ Go मॉड्यूल निर्भरता के रूप में जोड़ें। Go 1.24 या बाद का संस्करण आवश्यक है।

क्या कोई बाहरी निर्भरताएँ हैं?

नहीं। go.mod कोई require एंट्रीज़ घोषित नहीं करता — लाइब्रेरी पूरी तरह से Go मानक लाइब्रेरी पर निर्मित है।

क्या मैं बड़े कार्यपुस्तिकाओं को पूरी तरह मेमोरी में लोड किए बिना प्रोसेस कर सकता हूँ?

हाँ। StreamingReader.ProcessRows एक कॉलबैक के माध्यम से वर्कशीट को पंक्ति दर पंक्ति पढ़ता है, जिससे पूरी इन-मेमोरी लोड से बचा जा सके।

  

समर्थन और सीखने के संसाधन

 हिन्दी