Úvod

Kromě vytváření a stylování sešitů většina každodenního kódu pro tabulky tráví čas čtením a zápisem hodnot buněk, připojováním vzorců a přesouváním dat mezi XLSX a CSV. Aspose.Cells FOSS pro Go pokrývá všechny tři prostřednictvím typů Workbook a Cells.

Knihovna je dostupná jako Go modul na github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go a je vydána pod licencí MIT. Nainstalujte ji pomocí go get github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go/v26 do libovolného projektu Go 1.24+.

Tento příspěvek provádí průchod čtením/zápisem buněk, vzorci, konverzí CSV a odstraňováním buněk.


Klíčové vlastnosti

Vytvořte sešit a zapisujte buňky

NewWorkbook() vrací sešit s již přítomným jedním listem. Hodnoty zapisujte pomocí Cells().Set(ref, value):

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

ws.Cells().Set("A1", "Item")
ws.Cells().Set("B1", "Category")
ws.Cells().Set("C1", "Price")
ws.Cells().Set("A2", "Widget A")
ws.Cells().Set("B2", "Gadgets")
ws.Cells().Set("C2", 12.99)

wb.Save("inventory.xlsx")

Načíst buňky zpět

Cells().Get(ref) vrací *Cell pro daný odkaz spolu s chybou, pokud je odkaz neplatný:

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

cell, err := ws.Cells().Get("C2")
if err != nil {
	fmt.Printf("Error: %v\n", err)
	return
}
fmt.Printf("C2 = %v\n", cell.Value)

Použijte Cells().All(), abyste vyjmenovali každou vyplněnou buňku v kolekci, když potřebujete projít celý list.

Přidat vzorec

Cell.SetFormula uloží řetězec vzorce do buňky. Nejprve vytvořte buňku pomocí Set, pak připojte vzorec — vzorec je vyhodnocen Excel nebo LibreOffice při otevření, nikoli knihovnou:

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

ws.Cells().Set("D2", nil)
cell, _ := ws.Cells().Get("D2")
cell.SetFormula("C2*2")

Převod CSV

Workbook.ExportToCSV zapíše zadaný index listu do CSV souboru s oddělovačem podle vašeho výběru; Workbook.ImportFromCSV načte CSV soubor do pojmenovaného listu:

wb := cells_foss.NewWorkbook()

if err := wb.ExportToCSV(0, "inventory.csv", ','); err != nil {
	fmt.Printf("Error exporting: %v\n", err)
	return
}

Odstranit buňku

Cells().Remove(ref) vymaže hodnotu buňky:

wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]
ws.Cells().Set("A2", "Widget A")

if err := ws.Cells().Remove("A2"); err != nil {
	fmt.Printf("Error removing cell: %v\n", err)
}

Rychlý start

Nainstalujte modul:

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

Minimální workflow — vytvořte malou tabulku hodnot a exportujte ji do CSV:

package main

import (
	"fmt"

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

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

	ws.Cells().Set("A1", "Item")
	ws.Cells().Set("B1", "Price")
	ws.Cells().Set("A2", "Widget A")
	ws.Cells().Set("B2", 12.99)

	if err := wb.ExportToCSV(0, "inventory.csv", ','); err != nil {
		fmt.Printf("Error exporting: %v\n", err)
		return
	}
	fmt.Println("Exported inventory.csv")
}

Podporované formáty

FormátPříponaČístZapsat
XLSX.xlsx
CSV.csv

Sešity XLSX jsou v paměti vytvářeny pomocí NewWorkbook a zapisovány pomocí Workbook.Save. CSV je obousměrné prostřednictvím Workbook.ImportFromCSV a Workbook.ExportToCSV.


Open Source a licence

Aspose.Cells FOSS pro Go je vydán pod licencí MIT. Neexistují žádná omezení používání, žádné poplatky za běh a žádné požadavky na registraci. Zdrojový kód je dostupný na github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go.

Komerční použití je povoleno podle podmínek licence MIT. Pokud váš projekt vyžaduje podporu na úrovni podniku, rozšířený rozsah formátů nebo integraci do cloudu, Aspose.Cells — Enterprise Product Family je samostatná komerční nabídka.


Začínáme

Související zdroje