1. Termékek
  2.   Aspose.Cells
  3.   Aspose.Cells FOSS for Go

Aspose.Cells FOSS Go platformhoz

Készíts, módosíts és exportálj Excel táblázatokat Go-ból — ingyenes és nyílt forráskódú, nulla külső függőség.

Nyílt forráskódú Go könyvtár Excel táblázatokhoz

Aspose.Cells FOSS for Go egy ingyenes, nyílt forráskódú könyvtár, amely Excel táblázatfájlokkal való munkát tesz lehetővé Go alkalmazásokban. Telepítsd a go get github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go/v26 segítségével, és kezdj el munkafüzeteket létrehozni, cellákat olvasni és írni, stílusokat alkalmazni, adatérvényesítést hozzáadni, valamint CSV-be exportálni, anélkül, hogy a Microsoft Excel vagy bármilyen Office függőség szükséges lenne.

A könyvtár egy kis, idiomatikus Go API-t kínál, amely a Workbook, Worksheet, Cells és Cell köré épül. A cellákhoz a Cells() gyűjteményen keresztül férhetsz hozzá a Get/Set/Remove segítségével, a formázást csoportosíthatod újrahasználható Style objektumokba, amelyek a Font, Fill, Alignment és Border elemekből épülnek, és felépíthetsz strukturált Table tartományokat egy fejléc sorral és elnevezett táblázat stílussal. Egy dedikált StreamingReader soronként olvassa a .xlsx munkafüzeteket egy visszahíváson keresztül, így nagy fájlok feldolgozhatók anélkül, hogy az egész munkalapot a memóriába kellene betölteni.

go.mod nem deklarál külső függőségeket — a könyvtár teljes egészében a Go standard könyvtárra épül. MIT licenc alatt áll, a GitHubon van tárolva, és egyetlen go get paranccsal telepíthető; nincs cgo, nincs natív Office könyvtár, és nincs konfigurálandó rendszercsomag. Az vállalati termékcsaládért lásd a Aspose.Cells — Enterprise Product Family.

Excel fájlok olvasása és írása

  • Cellához való hozzáférés: Értékek olvasása és írása a Cells().Get(ref) / Cells().Set(ref, value) segítségével.
  • Képletek: Cell.SetFormula/GetFormula tárol egy képlet karakterláncot a cellában — a megnyitáskor az Excel vagy a LibreOffice értékeli ki, nem a könyvtár a mentéskor.
  • CSV interoperáció: Workbook.ExportToCSV/ImportFromCSV és Worksheet.ToCSV/FromCSV konvertál az XLSX és a CSV között.
  • Streaming olvasás: StreamingReader.ProcessRows egy munkalapot soronként streameli egy visszahíváson keresztül, nagy fájlok feldolgozásához anélkül, hogy a teljes lapot a memóriába töltené.
  • Jelszóvédelem: Workbook.SetPassword/VerifyPassword védi és ellenőrzi a munkafüzet jelszavait.

Ahol a Aspose.Cells FOSS használható

  • Adatcsővezetékek: Exportálja az adatbázis lekérdezés eredményeit közvetlenül XLSX vagy CSV formátumba.
  • Jelentéskészítés: Stílusos Excel jelentéseket építsen egy Go backend szolgáltatásból.
  • Nagy fájlok feldolgozása: Streamelje a több ezer soros munkafüzeteket a StreamingReader segítségével ahelyett, hogy teljesen a memóriába töltené őket.
  • ETL munkafolyamatok: Olvassa be a bemeneti lapokat, alakítsa át az adatokat, és írja ki a kimeneti munkafüzeteket.
  • CI/CD automatizálás: Generáljon táblázat-artifaktumokat Go-alapú build csővezetékekben és Docker konténerekben.

Formázás, adatellenőrzés és táblázatok

  • Style objects: Csoportosítja a Font (name, size, bold, italic, color), Fill (type, color), Alignment (horizontal, vertical, wrap text), és a Border (top/bottom/left/right, color) egy újrahasználható Style-ba, amelyet a Cell.SetStyle alkalmaz.
  • Data validation: Worksheet.AddDataValidation listákat és egész számú tartományok validálási szabályait csatolja, mindegyikhez egy egyéni hiba cím, üzenet és hiba stílus.
  • Tables: Worksheet.AddTable/GetTable létrehozza a strukturált Table tartományt opcionális fejlécsorral és egy megnevezett táblázat stílussal.
  • Pictures: Worksheet.AddPicture beágyaz egy Picture képet a SetAnchor(row, col) pozicionálással.

Fejlesztői élmény

Aspose.Cells FOSS for Go egyetlen go get github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go/v26 paranccsal telepíthető. go.mod nem tartalmaz require bejegyzéseket — nincsenek külső függőségek, amelyeket ellenőrizni vagy vendorizálni kellene.

A API felület szándékosan kompakt: a Workbook, Worksheet, Cells, Cell, Style és néhány támogató típus lefedi a táblázatok létrehozását, formázását, ellenőrzését, valamint a CSV/streaming I/O-t. A kódbázis MIT licencű és a GitHubon van tárolva.

Munkafüzet létrehozása és cellák írása

Telepítsd a go get segítségével, hozz létre egy Workbook-ot, érj el az első Worksheet-ot, és írj értékeket közvetlenül a cellákba a Cells() gyűjteményen keresztül, mielőtt mentenéd.

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)
}

Adjon hozzá adatérvényesítési szabályokat

Csatolj egy lista-típusú érvényesítést (engedélyezett értékek legördülő listáját) és egy egész szám tartományú érvényesítést két különböző oszlophoz, mindegyikhez saját hiba címmel és üzenettel.

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)
}

Nagy munkafüzetek soronkénti adatfolyam

StreamingReader egy munkalapot soronként olvas be egy visszahíváson keresztül, így egy több ezer soros munkafüzetet soha nem kell teljesen betölteni a memóriába.

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)
}

Gyakran ismételt kérdések

Mi a Aspose.Cells FOSS for Go licencelési modellje?

Aspose.Cells FOSS for Go a MIT Licenc alatt kerül kiadásra, amely kereskedelmi és nyílt forráskódú használatot engedélyez.

Használhatom kereskedelmi termékekben?

Igen. Az MIT licenc megengedi a kereskedelmi felhasználást anélkül, hogy kötelező lenne a saját forráskódod közzététele, amennyiben az eredeti szerzői jogi nyilatkozat megmarad.

Hogyan telepíthetem a(z) Aspose.Cells FOSS for Go?

Adja hozzá Go modul függőségként a go get github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go/v26 segítségével. Szükséges Go 1.24 vagy újabb.

Vannak külső függőségek?

Nem. go.mod nem tartalmaz require bejegyzéseket — a könyvtár teljes egészében a Go standard library-re épül.

Feldolgozhatok nagy munkafüzeteket anélkül, hogy teljesen betölteném a memóriába?

Igen. StreamingReader.ProcessRows egy munkalapot soronként olvas be egy visszahíváson keresztül, elkerülve a teljes memóriába történő betöltést.

  

Támogatás és tanulási források

 Magyar