Prezentare generală a funcționalităților
Prezentare generală a funcționalităților
Aspose.Cells FOSS pentru API din Go se concentrează pe Workbook, Worksheet, Cells și Cell. Acest ghid parcurge celelalte capabilități ale bibliotecii: stilizare, validare de date, tabele, imagini și citiri în flux pentru fișiere mari.
Stilizare celulă
Grupați setările Font, Fill, Alignment și Border într-un Style reutilizabil, apoi aplicați-l unei celule cu Cell.SetStyle:
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 controlează Horizontal, Vertical și WrapText; Border controlează vizibilitatea regulii Top, Bottom, Left și Right plus Color.
Validare date
Worksheet.AddDataValidation atașează o regulă de validare la un interval de celule. Structura DataValidation conține regula Type, una sau două valori Formula, și câmpuri de mesaj de eroare:
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)Validarea unui interval de numere întregi folosește DataValidationTypeWhole cu Formula1/Formula2 ca limite inferioară și superioară.
Tabele
Worksheet.AddTable creează un Table structurat pe un interval, cu un rând de antet opțional și un stil de tabel denumit:
wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]
tbl := ws.AddTable("A1:F6")
tbl.HasHeaderRow = true
tbl.StyleName = "TableStyleMedium6"Recuperează un tabel existent după nume cu Worksheet.GetTable(name).
Imagini
Worksheet.AddPicture încorporează o imagine; Picture.SetAnchor(row, col) o poziționează:
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)Streaming de fișiere mari
StreamingReader citește o foaie de calcul rând cu rând printr-un callback, astfel încât un registru cu mii de rânduri nu trebuie să fie încărcat complet în memorie:
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)
}Sfaturi și practici recomandate
- Utilizați
StreamingReaderîn loc de o încărcare completăWorkbookcând un fișier poate avea mii de rânduri și aveți nevoie doar să îl citiți, nu să îl modificați. - Construiți un
Styleo singură dată și reutilizați-l în mai multe celule, în loc să construiți unul nou pentru fiecare celulă. Cell.SetFormulastochează șirul formulei exact — este evaluat de Excel sau LibreOffice la deschidere, nu de bibliotecă la momentul salvării.- Verificați valoarea de returnare
errorde laSave,AddDataValidationși apelurile de import/export CSV — operațiunile I/O ale foilor de calcul pot eșua în cazul căilor invalide sau al intrărilor malformate.
Probleme comune
| Issue | Cause | Remediere |
|---|---|---|
Valoarea celulei nu este vizibilă după Set | Se face referire la foaia greșită sau la o referință de celulă în afara intervalului | Confirmați indicele Worksheet și că referința în stil A1 corespunde celulei dorite |
| Formula este afișată ca text brut în loc să fie calculată | Biblioteca stochează doar șirul formulei; nu evaluează formulele | Deschideți fișierul în Excel sau LibreOffice, care efectuează calculul la deschidere |
| Validarea datelor nu este vizibilă în Excel | Validarea a fost adăugată unui interval care nu include celula țintă | Confirmă că șirul de interval (de ex. "A2:A10") acoperă celulele pe care te aștepți să le validezi |
FAQ
Biblioteca evaluează formulele singură?
Nr. Cell.SetFormula/GetFormula stochează un șir de formulă pe care Excel sau LibreOffice îl evaluează când fișierul este deschis.
Pot să scriu în flux cărți de lucru mari, nu doar să le citesc în flux?
StreamingReader acoperă citirile în flux. Scrierea cărților de lucru mari în prezent se face prin API standard în memorie Workbook/Worksheet.
Aplică AddTable automat un filtru?
Acest lucru nu este confirmat în suprafața curentă API — doar HasHeaderRow și StyleName sunt documentate ca Table câmpuri. Verificați fișierul .xlsx generat dacă acest aspect este important pentru cazul dvs. de utilizare.
Rezumat API Reference
| Clasă / Metodă | Descriere: |
|---|---|
Workbook.NewWorkbook / Save | Creează și salvează un caiet de lucru |
Worksheet.Cells | Accesează colecția de celule pentru o foaie de lucru |
Cells.Get / Set / Remove / All | Citește, scrie, elimină și enumeră celulele |
Cell.SetStyle / SetFormula / GetFormula | Aplică stiluri și formule unei celule |
Style, Font, Fill, Alignment, Border | Creează formatare de celule reutilizabilă |
Worksheet.AddDataValidation | Atașează o regulă de validare la un interval de celule |
Worksheet.AddTable / GetTable | Creează și recuperează intervale de tabel structurate |
Worksheet.AddPicture / Picture.SetAnchor(row, col) | Încorporează și poziționează imaginile |
StreamingReader.ProcessRows | Transmite o foaie de calcul rând cu rând |
Workbook.ExportToCSV / ImportFromCSV | Convertește între XLSX și CSV |
Workbook.SetPassword / VerifyPassword | Protejați și verificați parola unui registru de lucru |