Özellik Genel Bakışı

Özellik Genel Bakışı

Aspose.Cells FOSS for Go’nun API Workbook, Worksheet, Cells ve Cell üzerine odaklanır. Bu kılavuz, kütüphanenin diğer yeteneklerini ele alır: stil, veri doğrulama, tablolar, resimler ve büyük dosyalar için akış okuma.


Hücre Stili

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

highlightStyle := cells_foss.NewStyle()
highlightStyle.Font.Color = "FFFFFFFF"
highlightStyle.Font.Bold = true
highlightStyle.Fill = &cells_foss.Fill{
	Type:  cells_foss.FillTypeSolid,
	Color: "FF4472C4",
}

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

Alignment, Horizontal, Vertical ve WrapText‘ü kontrol eder; Border, Top, Bottom, Left ve Right kural görünürlüğünü ve ayrıca Color‘u kontrol eder.


Veri Doğrulama

Worksheet.AddDataValidation, bir hücre aralığına doğrulama kuralı ekler. DataValidation yapısı, Type kuralını, 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)

Tam sayı aralığı doğrulaması, alt ve üst sınırlar olarak Formula1/Formula2 kullanarak DataValidationTypeWhole kullanır.


Tablolar

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

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

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

Mevcut bir tabloyu adıyla Worksheet.GetTable(name) kullanarak alın.


Resimler

Worksheet.AddPicture bir görüntüyü 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ı Akış Olarak İşleme

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

path := "outputfiles/large_workbook.xlsx"
sr := cells_foss.NewStreamingReader(path)
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)
}

İpuçları ve En İyi Uygulamalar

  • Dosya binlerce satır içerebilir ve yalnızca okumanız, değiştirmemeniz gerektiğinde tam bir Workbook yüklemesi yerine StreamingReader kullanın.
  • Bir Style oluşturup birçok hücrede yeniden kullanın, her hücre için yeni bir tane inşa etmek yerine.
  • Cell.SetFormula, bir formül dizesini olduğu gibi saklar — bu, kaydetme sırasında kütüphane tarafından değil, açıldığında Excel veya LibreOffice tarafından değerlendirilir.
  • error dönüş değerini Save, AddDataValidation ve CSV içe/dışa aktarma çağrılarından kontrol edin — elektronik tablo I/O, geçersiz yollar veya hatalı giriş nedeniyle başarısız olabilir.

Yaygın Sorunlar

IssueCauseDüzelt
Hücre değeri Set sonrasında görünmüyorYanlış sayfaya ya da kapsam dışı bir hücre referansına başvurmaWorksheet dizinini ve A1 biçimindeki referansın hedef hücreyle eşleştiğini doğrulayın
Formül, hesaplanmak yerine ham metin olarak görünüyorKütüphane yalnızca formül dizesini depolar; formülleri değerlendirmezDosyayı Excel’de ya da LibreOffice’de açın; ikisi de açıldığında hesaplamayı gerçekleştirir
Veri doğrulama Excel’de görünmüyorDoğrulama, hedef hücreyi içermeyen bir aralığa eklendiAralık dizesinin (ör. "A2:A10") doğrulamak istediğiniz hücreleri kapsadığından emin olun

FAQ

Kütüphane formülleri kendisi değerlendiriyor mu?

No. Cell.SetFormula/GetFormula bir formül dizesi saklar; bu dize dosya açıldığında Excel ya da LibreOffice tarafından değerlendirilir.

Büyük çalışma kitaplarını yalnızca akışla okuyarak değil, akışla yazarak da yapabilir miyim?

StreamingReader, akış okuma işlemlerini kapsar. Büyük çalışma kitaplarının yazılması şu anda standart bellek içi Workbook/Worksheet API üzerinden gerçekleşir.

AddTable otomatik olarak bir auto-filter uygular mı?

Bu, mevcut API yüzeyinde doğrulanmamıştır — yalnızca HasHeaderRow ve StyleName belgelenen Table alanlarıdır. Kullanım senaryonuz için bunun önemli olup olmadığını, oluşturulan .xlsx dosyasına karşı doğrulayın.


API Reference Özeti

Sınıf / MetotAçıklama
Workbook.NewWorkbook / SaveBir çalışma kitabı oluşturun ve kaydedin
Worksheet.CellsBir çalışma sayfası için hücre koleksiyonuna erişin
Cells.Get / Set / Remove / AllHücreleri oku, yaz, kaldır ve numaralandır
Cell.SetStyle / SetFormula / GetFormulaBir hücreye stil ve formüller uygula
Style, Font, Fill, Alignment, BorderYeniden kullanılabilir hücre biçimlendirmesi oluştur
Worksheet.AddDataValidationBir hücre aralığına doğrulama kuralı ekle
Worksheet.AddTable / GetTableYapılandırılmış tablo aralıklarını oluşturun ve alın
Worksheet.AddPicture / Picture.SetAnchor(row, col)Görselleri göm ve konumlandır
StreamingReader.ProcessRowsÇalışma sayfasını satır satır akıt
Workbook.ExportToCSV / ImportFromCSVXLSX ve CSV arasında dönüştür
Workbook.SetPassword / VerifyPasswordBir çalışma kitabı şifresini koruyun ve kontrol edin

Ayrıca Bakınız

 Türkçe