Come caricare un foglio di calcolo in Go

Come caricare un foglio di calcolo in Go

Aspose.Cells FOSS per Go carica un workbook .xlsx esistente in memoria come Workbook, fornendoti pieno accesso ai suoi fogli di lavoro e alle celle attraverso la libreria standard API. Installa il modulo con go get prima di iniziare.

Guida passo-passo

Passo 1: Installa il pacchetto

go get github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go/v26

Verifica la versione del modulo nel tuo go.mod dopo l’installazione.


Passo 2: Importa le classi richieste

import (
	cells_foss "github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go/v26/aspose/cells_foss"
)

Passo 3: Crea e Popola una Cartella di Lavoro da Caricare

Questo esempio crea prima una cartella di lavoro per avere un vero file .xlsx da caricare — nel tuo codice, sostituisci il percorso con un foglio di calcolo esistente:

wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]
ws.Cells().Set("A1", "Product")
ws.Cells().Set("B1", "Price")
ws.Cells().Set("A2", "Widget A")
ws.Cells().Set("B2", 12.99)
wb.Save("outputfiles/products.xlsx")

Passo 4: Leggi i Valori delle Celle dal Foglio di Lavoro Caricato

Accedi al primo foglio di lavoro tramite Worksheets[0] e leggi le singole celle con Cells().Get(ref):

wb := cells_foss.NewWorkbook()
wb.Worksheets[0].Cells().Set("B2", 12.99)

ws2 := wb.Worksheets[0]
cell, err := ws2.Cells().Get("B2")
if err != nil {
	fmt.Printf("Error reading cell: %v\n", err)
	return
}
fmt.Printf("Price: %v\n", cell.Value)

Passo 5: Elenca Tutte le Celle Popolate

Usa Cells().All() quando devi iterare su ogni cella impostata, anziché leggere i riferimenti noti uno alla volta:

wb := cells_foss.NewWorkbook()
ws2 := wb.Worksheets[0]
ws2.Cells().Set("A1", "Product")

allCells := ws2.Cells().All()
for ref, c := range allCells {
	fmt.Printf("%s = %v\n", ref, c.Value)
}

Problemi Comuni e Soluzioni

Get restituisce un errore per un riferimento di cella. Il riferimento non è ancora stato impostato nella raccolta. Conferma che la cella sia stata scritta con Set, o controlla il valore restituito error esplicitamente prima di utilizzare la cella.

I valori sembrano del tipo sbagliato. Cell.Value riflette qualsiasi tipo sia stato passato a Set (string, int, float64, e così via) — ispezionalo con uno switch di tipo se devi ramificare sul tipo Go sottostante.

La cartella di lavoro caricata non contiene dati nel foglio previsto. Conferma di indicizzare la voce corretta in Worksheets — una cartella di lavoro può contenere più di un foglio di calcolo, e i dati di destinazione potrebbero non trovarsi su Worksheets[0].

Domande Frequenti

Il caricamento di un workbook richiede che il file originale esista ancora su disco?

Sì — Workbook legge dal percorso file che fornisci. Mantieni il file sorgente accessibile per tutta la durata del caricamento.

Posso modificare una cella dopo il caricamento e salvare le modifiche?

Sì — Cells().Set funziona su un workbook caricato allo stesso modo in cui fa su uno appena creato; chiama nuovamente Save per scrivere le tue modifiche.

Esiste un modo per evitare di caricare l’intero file in memoria?

Sì — usa StreamingReader.ProcessRows per file di grandi dimensioni in cui è necessario leggere le righe in modo sequenziale anziché caricare l’intero workbook.

Vedi anche

 Italiano