Ö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
Workbookyüklemesi yerineStreamingReaderkullanın. - Bir
Styleoluş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.errordönüş değeriniSave,AddDataValidationve 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
| Issue | Cause | Düzelt |
|---|---|---|
Hücre değeri Set sonrasında görünmüyor | Yanlış sayfaya ya da kapsam dışı bir hücre referansına başvurma | Worksheet 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üyor | Kütüphane yalnızca formül dizesini depolar; formülleri değerlendirmez | Dosyayı 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üyor | Doğrulama, hedef hücreyi içermeyen bir aralığa eklendi | Aralı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 / Metot | Açıklama |
|---|---|
Workbook.NewWorkbook / Save | Bir çalışma kitabı oluşturun ve kaydedin |
Worksheet.Cells | Bir çalışma sayfası için hücre koleksiyonuna erişin |
Cells.Get / Set / Remove / All | Hücreleri oku, yaz, kaldır ve numaralandır |
Cell.SetStyle / SetFormula / GetFormula | Bir hücreye stil ve formüller uygula |
Style, Font, Fill, Alignment, Border | Yeniden kullanılabilir hücre biçimlendirmesi oluştur |
Worksheet.AddDataValidation | Bir hücre aralığına doğrulama kuralı ekle |
Worksheet.AddTable / GetTable | Yapı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 / ImportFromCSV | XLSX ve CSV arasında dönüştür |
Workbook.SetPassword / VerifyPassword | Bir çalışma kitabı şifresini koruyun ve kontrol edin |