Scrivere e leggere file Excel in Go con Excelize
Excelize è una libreria per Go che ci permette di scrivere e leggere file Excel; nello specifico file XLSX.
In questo articolo vediamo come usarla.
Per l'installazione:
go get github.com/xuri/excelize
Qui sotto due funzioni, una per scrivere ed una per leggere:
package main
import (
"fmt"
"os"
"github.com/xuri/excelize/v2"
)
func main() {
scrivi()
leggi()
}
func scrivi() {
f := excelize.NewFile()
defer func() {
if err := f.Close(); err != nil {
fmt.Println(err)
os.Exit(1)
}
}()
f.SetCellValue("Sheet1", "A1", "CIAO!!")
f.SetCellValue("Sheet1", "A2", 20)
index, err := f.NewSheet("Sheet2")
if err != nil {
fmt.Println(err)
os.Exit(1)
}
f.SetCellValue("Sheet2", "A1", "10/10/2025")
f.SetActiveSheet(index)
if err := f.SaveAs("test.xlsx"); err != nil {
fmt.Println(err)
os.Exit(1)
}
}
func leggi() {
f, err := excelize.OpenFile("test.xlsx")
if err != nil {
fmt.Println(err)
os.Exit(1)
}
defer func() {
if err := f.Close(); err != nil {
fmt.Println(err)
os.Exit(1)
}
}()
cell, err := f.GetCellValue("Sheet1", "A1")
if err != nil {
fmt.Println(err)
os.Exit(1)
}
fmt.Println(cell)
rows, err := f.GetRows("Sheet1")
if err != nil {
fmt.Println(err)
os.Exit(1)
}
for _, row := range rows {
for _, colCell := range row {
fmt.Print(colCell, "t")
}
fmt.Println()
}
}
Inoltre è possibile anche aggiungere grafici ed immagini.
Enjoy!
go excelize excel xlsx
Commentami!