Hogyan töltsünk be egy táblázatot Go-ban

Hogyan töltsünk be egy táblázatot Go-ban

Aspose.Cells FOSS for Go betölti a meglévő .xlsx munkafüzetet memóriába Workbook formájában, így teljes hozzáférést biztosít a munkalapjaihoz és celláihoz a szabványos könyvtár API segítségével. Telepítsd a modult a go get használatával, mielőtt elkezdenéd.

Lépésről-lépésre útmutató

1. lépés: A csomag telepítése

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

A telepítés után ellenőrizd a modul verzióját a go.mod.


2. lépés: A szükséges osztályok importálása

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

3.lépés: Munkafüzet létrehozása és feltöltése a betöltéshez

Ez a példa először egy munkafüzetet hoz létre, hogy legyen egy valós .xlsx fájl a betöltéshez—a saját kódodban cseréld ki egy meglévő táblázat útvonalára:

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

4.lépés: Cellaértékek olvasása a betöltött munkalapról

Az első munkalap eléréséhez használd a Worksheets[0] és olvasd ki az egyes cellákat a Cells().Get(ref) segítségével:

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)

5.lépés: Az összes feltöltött cella felsorolása

Használd a Cells().All() akkor, amikor minden beállított cellán végig kell iterálni, ahelyett, hogy egyes ismert hivatkozásokat egyesével olvasnál:

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

Gyakori problémák és megoldások

Get hibát ad vissza egy cellahivatkozás esetén. A hivatkozás még nincs beállítva a gyűjteményben. Erősítse meg, hogy a cella ezzel lett írva with Set, vagy ellenőrizze a visszakapott error kifejezetten a cella használata előtt.

Az értékek hibás típusúnak tűnnek. Cell.Value visszatükrözi azt a típust, amelyet átadtak neki Set (string, int, float64, és így tovább) — ellenőrizze egy type switch-kel, ha az alap Go típus alapján kell elágazni.

A betöltött munkafüzetben nincs adat a várt lapon. Erősítse meg, hogy a megfelelő bejegyzést indexeli a Worksheets — egy munkafüzetnek több munkalapja is lehet, és a céladatok nem feltétlenül találhatók a Worksheets[0].

Gyakran Ismételt Kérdések

A munkafüzet betöltéséhez szükséges, hogy az eredeti fájl még létezzen a lemezen?

Igen — Workbook a megadott fájlútról olvas. Tartsa a forrásfájlt elérhetően a betöltés időtartama alatt.

Módosíthatok egy cellát a betöltés után, és visszaírhatom a változtatásokat?

Igen — Cells().Set egy betöltött munkafüzeten ugyanúgy működik, mint egy újat létrehozva; hívja meg újra a(z) Save-t a változtatások írásához.

Van mód arra, hogy elkerüljük a teljes fájl memóriába betöltését?

Igen — használja a StreamingReader.ProcessRows nagy fájloknál, ahol csak soronként kell olvasni, a teljes munkafüzet betöltése helyett.

Lásd még:

 Magyar