Giriş

Aspose.Cells FOSS for Go, Excel elektronik tabloları ile çalışmak için saf Go kütüphanesidir. Yeni çalışma kitaplarını sıfırdan oluşturmak, hücre değerlerini yazmak ve stil vermek, veri doğrulama kuralları uygulamak, yapılandırılmış tablolar oluşturmak, resimler eklemek ve .xlsx dosyalarını satır satır okumak için bir API ortaya koyar — tüm bunlar herhangi bir yerel C veya C++ bağımlılığı olmadan.

Kütüphane, github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go adresindeki bir Go modülü olarak mevcuttur ve MIT lisansı altında dağıtılmaktadır. Herhangi bir Go 1.24+ projesine go get github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go/v26 komutuyla kurabilirsiniz.

Bu gönderi temel yetenekleri kapsar: hücre biçimlendirme, veri doğrulama, tablolar, resimler ve akış okuma.


Temel Özellikler

Hücre Biçimlendirme

Font, Fill, Alignment ve Border ayarlarını yeniden kullanılabilir bir Style içinde gruplayın, ardından Cell.SetStyle ile bir hücreye uygulayın:

wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]

boldStyle := cells_foss.NewStyle()
boldStyle.Font.Bold = true
boldStyle.Font.Size = 12

cell, _ := ws.Cells().Get("A1")
cell.SetStyle(boldStyle)

Alignment, Horizontal, Vertical ve WrapText öğelerini kontrol eder; Border ise Top, Bottom, Left ve Right kurallarının görünürlüğünü ve Color değerini kontrol eder.

Veri Doğrulama

Worksheet.AddDataValidation, bir hücre aralığına doğrulama kuralı ekler. DataValidation yapısı, kuralın Type özelliğini, bir veya iki Formula değerini ve hata mesajı alanlarını taşır:

wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]

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,
}
ws.AddDataValidation("A2:A10", dv)

Tablolar

Worksheet.AddTable bir aralık üzerinde yapılandırılmış bir Table oluşturur, isteğe bağlı bir başlık satırı ve adlandırılmış bir tablo stiliyle:

wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]
ws.Cells().Set("A1", "Item")
ws.Cells().Set("B1", "Qty")

tbl := ws.AddTable("A1:B2")
tbl.HasHeaderRow = true
tbl.StyleName = "TableStyleMedium6"

Resimler

Worksheet.AddPicture bir görüntü gömer; Picture.SetAnchor(row, col) ise onu konumlandırır:

wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]
imageBytes := []byte{} // populate with real image bytes before use

pic := &cells_foss.Picture{Data: imageBytes, Format: "png"}
ws.AddPicture(pic)
pic.SetAnchor(5, 0)

Büyük Dosyaların Akışı

StreamingReader bir geri arama (callback) aracılığıyla çalışma sayfasını satır satır okur, böylece binlerce satırlı bir çalışma kitabı tamamen belleğe yüklenmek zorunda kalmaz:

sr := cells_foss.NewStreamingReader("large_workbook.xlsx")
err := sr.ProcessRows("Sheet1", func(rowIdx int, cells map[string]string) error {
	// process one row at a time
	return nil
})
if err != nil {
	fmt.Printf("Error streaming: %v\n", err)
}

Hızlı Başlangıç

Modülü kurun:

go get github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go/v26

Minimal bir iş akışı — bir çalışma kitabı oluşturun, iki hücreye yazın, başlığı kalın yapın ve kaydedin:

package main

import (
	"fmt"

	cells_foss "github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go/v26/aspose/cells_foss"
)

func main() {
	wb := cells_foss.NewWorkbook()
	ws := wb.Worksheets[0]

	ws.Cells().Set("A1", "Product")
	ws.Cells().Set("B1", "Revenue")

	boldStyle := cells_foss.NewStyle()
	boldStyle.Font.Bold = true
	for _, ref := range []string{"A1", "B1"} {
		cell, _ := ws.Cells().Get(ref)
		cell.SetStyle(boldStyle)
	}

	if err := wb.Save("report.xlsx"); err != nil {
		fmt.Printf("Error saving workbook: %v\n", err)
		return
	}
	fmt.Println("Workbook saved to report.xlsx")
}

Desteklenen Biçimler

BiçimUzantıOkumaYazma
XLSX.xlsx
CSV.csv

XLSX çalışma kitapları, NewWorkbook ile bellekte oluşturulur ve Workbook.Save ile yazılır. CSV, Workbook.ImportFromCSV ve Workbook.ExportToCSV aracılığıyla çift yönlüdür.


Açık Kaynak ve Lisanslama

Aspose.Cells FOSS for Go, MIT lisansı altında yayınlanmıştır. Kullanım kısıtlaması yoktur, çalışma zamanı ücreti yoktur ve kayıt gereksinimi yoktur. Kaynak kodu şu adreste mevcuttur: github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go.

Ticari kullanım, MIT lisansı koşulları altında izin verilmektedir. Projeniz kurumsal düzeyde destek, genişletilmiş format kapsamı veya bulut entegrasyonu gerektiriyorsa, Aspose.Cells — Enterprise Product Family ayrı bir ticari tekliftir.


Başlarken

İlgili Kaynaklar