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ă Workbook câ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 Style o singură dată și reutilizați-l în mai multe celule, în loc să construiți unul nou pentru fiecare celulă.
  • Cell.SetFormula stochează șirul formulei exact — este evaluat de Excel sau LibreOffice la deschidere, nu de bibliotecă la momentul salvării.
  • Verificați valoarea de returnare error de la Save, 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

IssueCauseRemediere
Valoarea celulei nu este vizibilă după SetSe face referire la foaia greșită sau la o referință de celulă în afara intervaluluiConfirmaț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ă formuleleDeschideți fișierul în Excel sau LibreOffice, care efectuează calculul la deschidere
Validarea datelor nu este vizibilă în ExcelValidarea 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 / SaveCreează și salvează un caiet de lucru
Worksheet.CellsAccesează colecția de celule pentru o foaie de lucru
Cells.Get / Set / Remove / AllCitește, scrie, elimină și enumeră celulele
Cell.SetStyle / SetFormula / GetFormulaAplică stiluri și formule unei celule
Style, Font, Fill, Alignment, BorderCreează formatare de celule reutilizabilă
Worksheet.AddDataValidationAtașează o regulă de validare la un interval de celule
Worksheet.AddTable / GetTableCreează și recuperează intervale de tabel structurate
Worksheet.AddPicture / Picture.SetAnchor(row, col)Încorporează și poziționează imaginile
StreamingReader.ProcessRowsTransmite o foaie de calcul rând cu rând
Workbook.ExportToCSV / ImportFromCSVConvertește între XLSX și CSV
Workbook.SetPassword / VerifyPasswordProtejați și verificați parola unui registru de lucru

Vezi și:

 Română