Panoramica delle funzionalità

Panoramica delle funzionalità

Aspose.Cells FOSS per API di Go si concentra su Workbook, Worksheet, Cells e Cell. Questa guida illustra le altre capacità della libreria: styling, data validation, tables, pictures e streaming reads per file di grandi dimensioni.


Formattazione della cella

Raggruppa le impostazioni Font, Fill, Alignment e Border in un Style riutilizzabile, quindi applicalo a una cella con 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 controlla Horizontal, Vertical e WrapText; Border controlla la visibilità delle regole Top, Bottom, Left e Right più Color.


Validazione dei dati

Worksheet.AddDataValidation associa una regola di validazione a un intervallo di celle. La struct DataValidation contiene la regola Type, uno o due valori Formula e i campi del messaggio di errore:

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)

Una convalida di intervallo di numeri interi utilizza DataValidationTypeWhole con Formula1/Formula2 come limiti inferiore e superiore.


Tabelle

Worksheet.AddTable crea un Table strutturato su un intervallo, con una riga di intestazione opzionale e uno stile di tabella denominato:

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

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

Recupera una tabella esistente per nome con Worksheet.GetTable(name).


Immagini

Worksheet.AddPicture incorpora un’immagine; Picture.SetAnchor(row, col) la posiziona:

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 di file di grandi dimensioni

StreamingReader legge un foglio di lavoro riga per riga tramite una callback, così un workbook con migliaia di righe non deve mai essere caricato interamente in memoria:

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)
}

Suggerimenti e migliori pratiche

  • Usa StreamingReader invece di un caricamento completo Workbook quando un file può contenere migliaia di righe e devi solo leggerlo, non modificarlo.
  • Crea un Style una sola volta e riutilizzalo in molte celle invece di crearne uno nuovo per ogni cella.
  • Cell.SetFormula memorizza una stringa di formula così com’è — viene valutata da Excel o LibreOffice all’apertura, non dalla libreria al momento del salvataggio.
  • Verifica il valore di ritorno error da Save, AddDataValidation e dalle chiamate di import/export CSV — l’I/O del foglio di calcolo può fallire su percorsi non validi o input malformato.

Problemi comuni

IssueCauseCorreggi
Valore della cella non visibile dopo SetRiferimento al foglio sbagliato o a un riferimento di cella fuori intervalloConferma l’indice Worksheet e che il riferimento in stile A1 corrisponda alla cella prevista
La formula appare come testo grezzo anziché essere calcolataLa libreria memorizza solo la stringa della formula; non valuta le formuleApri il file in Excel o LibreOffice, che eseguono il calcolo all’apertura
Convalida dei dati non visibile in ExcelLa convalida è stata aggiunta a un intervallo che non include la cella di destinazioneConferma che la stringa dell’intervallo (ad es. "A2:A10") copre le celle che ti aspetti di convalidare

FAQ

La libreria valuta le formule da sola?

No. Cell.SetFormula/GetFormula memorizzano una stringa di formula che Excel o LibreOffice valuta quando il file viene aperto.

Posso scrivere in streaming grandi cartelle di lavoro, non solo leggerle in streaming?

StreamingReader copre le letture in streaming. La scrittura di grandi cartelle di lavoro attualmente avviene attraverso lo standard in memoria Workbook/Worksheet API.

Il AddTable applica automaticamente un auto-filter?

Questo non è confermato nell’attuale superficie API — solo HasHeaderRow e StyleName sono campi Table documentati. Verifica il file .xlsx generato se questo è importante per il tuo caso d’uso.


API Reference Riepilogo

Classe / MetodoDescrizione
Workbook.NewWorkbook / SaveCrea e salva una cartella di lavoro
Worksheet.CellsAccedi alla raccolta di celle di un foglio di lavoro
Cells.Get / Set / Remove / AllLeggi, scrivi, rimuovi ed elenca le celle
Cell.SetStyle / SetFormula / GetFormulaApplica formattazione e formule a una cella
Style, Font, Fill, Alignment, BorderCrea formattazione di cella riutilizzabile
Worksheet.AddDataValidationAllega una regola di convalida a un intervallo di celle
Worksheet.AddTable / GetTableCrea e recupera intervalli di tabelle strutturate
Worksheet.AddPicture / Picture.SetAnchor(row, col)Incorpora e posiziona le immagini
StreamingReader.ProcessRowsTrasmetti un foglio di lavoro riga per riga
Workbook.ExportToCSV / ImportFromCSVConverti tra XLSX e CSV
Workbook.SetPassword / VerifyPasswordProteggi e verifica la password di una cartella di lavoro

Vedi anche

 Italiano