Scrivere e leggere file Excel in Go con Excelize

Mattepuffo's logo
Scrivere e leggere file Excel in Go con Excelize

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!


Condividi

Commentami!