Cum să încarci o foaie de calcul în Go

Cum să încarci o foaie de calcul în Go

Aspose.Cells FOSS pentru Go încarcă un registru .xlsx existent în memorie ca Workbook, oferindu-vă acces complet la foile de calcul și celule prin API din biblioteca standard. Instalați modulul cu go get înainte de a începe.

Ghid pas cu pas

Pasul 1: Instalați pachetul

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

Verificați versiunea modulului în go.mod după instalare.


Pasul 2: Importați clasele necesare

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

Pasul 3: Crearea și popularea unui registru de lucru pentru încărcare

Acest exemplu creează mai întâi un registru de lucru pentru a avea un fișier .xlsx real de încărcat — în propriul tău cod, înlocuiește calea cu o foaie de calcul existentă:

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

Pasul 4: Citirea valorilor celulelor din foaia de lucru încărcată

Accesează prima foaie de lucru prin Worksheets[0] și citește celulele individuale cu 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)

Pasul 5: Enumerarea tuturor celulelor populate

Folosește Cells().All() când trebuie să iterezi prin fiecare celulă setată, în loc să citești referințele cunoscute una câte una:

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

Probleme comune și soluții

Get returnează o eroare pentru o referință de celulă. Referința nu a fost încă setată în colecție. Confirmă că celula a fost scrisă cu Set, sau verifică ce a fost returnat error în mod explicit înainte de a folosi celula.

Valorile par să fie de tip greșit. Cell.Value reflectă orice tip a fost transmis către Set (string, int, float64, și așa mai departe) — inspectează-l cu un type switch dacă trebuie să ramifici pe tipul de bază Go.

Registrul de lucru încărcat nu conține date pe foaia așteptată. Confirmați că indexați intrarea corectă în Worksheets — un registru de lucru poate avea mai mult de o foaie de calcul, iar datele țintă s-ar putea să nu fie pe Worksheets[0].

Întrebări frecvente

Încărcarea unui caiet de lucru necesită ca fișierul original să mai existe pe disc?

Da — Workbook citește din calea de fișier pe care o furnizezi. Menține fișierul sursă accesibil pe durata încărcării.

Pot modifica o celulă după încărcare și să salvez modificările înapoi?

Da — Cells().Set funcționează pe un caiet de lucru încărcat la fel ca pe unul nou creat; apelează din nou Save pentru a scrie modificările.

Există o modalitate de a evita încărcarea întregului fișier în memorie?

Da — folosește StreamingReader.ProcessRows pentru fișiere mari în care trebuie să citești rândurile secvențial, în loc să încarci întregul registru de lucru.

Vezi și:

 Română