Vai alla libreria per lavorare con i documenti XLSX di Excel

API Go open source che supporta la generazione di fogli di lavoro XLSX di Microsoft Excel, la gestione dei fogli di lavoro, la gestione di righe e colonne nei fogli di lavoro tramite l'API Go.

La libreria xlsx fornisce un modo molto veloce e affidabile per lavorare con i file di Microsoft Excel usando Go. La libreria aiuta a semplificare la lettura e la scrittura del formato file XLSX di Excel. Il formato di file XLSX è stato introdotto nel 2007 e utilizza lo standard Open XML adattato da Microsoft nel 2000. La libreria è open source e disponibile con la licenza BSD-3-Clause.

La libreria open source xlsx ha incluso il supporto per diverse importanti funzionalità relative alla creazione e manipolazione di documenti Microsoft Excel come la creazione di un nuovo file XlSX, l'apertura di file Excel esistenti, l'accesso ai fogli di lavoro, l'aggiunta di nuovi fogli di lavoro, la gestione di righe e colonne all'interno di un foglio di lavoro, l'aggiunta celle, ottenere celle da una riga, formattare celle, applicare stili alle celle, supporto per intervalli denominati e molto altro.

Previous Next

Guida introduttiva a Xlsx2Go

Il modo consigliato per installare xlsx è da GitHub, utilizzare il comando seguente per un'installazione senza problemi.

Installa xlsx tramite GitHub

go get https://github.com/tealeg/xlsx.git

Creazione di NUOVI file XLSX tramite Go Library

La libreria open source xlsx offre agli sviluppatori di software la possibilità di creare un nuovo file XLSX vuoto da zero utilizzando un paio di comandi Go. Gli sviluppatori possono utilizzare la nuova funzione NewFile() per generare un nuovo file. Una volta creato, puoi facilmente aggiungere nuovi contenuti alla cartella di lavoro. Puoi aggiungere un nuovo foglio o aggiungere facilmente un foglio esistente. Una volta creato e completato il lavoro, salva il tuo lavoro, si consiglia di chiudere() il foglio.

Crea e modifica file Excel LS via Go API

// Demonstrates how to create/open/save XLSX files
func Example_files() {
	// Create a new XLSX file
	xl := xlsx.New()
	// Open the XLSX file using file name
	xl, err := xlsx.Open("./test_files/example_simple.xlsx")
	if err != nil {
		log.Fatal(err)
	}
	defer xl.Close()
	// Open the XLSX file using file handler
	zipFile, err := os.Open("./test_files/example_simple.xlsx")
	if err != nil {
		log.Fatal(err)
	}
	xl, err = xlsx.Open(zipFile)
	if err != nil {
		log.Fatal(err)
	}
	// Update the existing XLSX file
	err = xl.Save()
	if err != nil {
		log.Fatal(err)
	}
	// Save the XLSX file under different name
	err = xl.SaveAs("new_file.xlsx")
	if err != nil {
		log.Fatal(err)
	}
}

Accedi e leggi i file XLSX

La libreria Open source xlsx ha fornito una serie di funzioni che consentono agli sviluppatori di accedere e leggere un foglio di calcolo XLSX esistente all'interno delle proprie applicazioni Go. Puoi anche accedere facilmente ai fogli di una cartella di lavoro con solo un paio di comandi Vai. Gli sviluppatori possono anche accedere facilmente a un foglio particolare di loro scelta.

Accesso & Leggi file Excel via Go Library

func Example_access() {
	xl, err := xlsx.Open("./test_files/example_simple.xlsx")
	if err != nil {
		log.Fatal(err)
	}
	defer xl.Close()
	// Get sheet by 0-based index
	sheet := xl.Sheet(0)
	// Get cell by 0-based indexes
	cell := sheet.Cell(13, 27)
	fmt.Println(cell.Value())
	// Get cell by reference
	cell = sheet.CellByRef("N28")
	fmt.Println(cell.Value())
	// Get row by 0-based index
	row := sheet.Row(9)
	fmt.Println(strings.Join(row.Values(), ","))
	// Get cell of row at 0-based col index
	cell = row.Cell(0)
	fmt.Println(cell.Value())
	// Get col by 0-based index
	col := sheet.Col(3)
	fmt.Println(strings.Join(col.Values(), ","))
	// Get cell of col at 0-based row index
	cell = col.Cell(0)
	fmt.Println(cell.Value())
	// Get range by references
	area := sheet.RangeByRef("D10:H13")
	fmt.Println(strings.Join(area.Values(), ","))
}

Gestione di righe e colonne nei fogli di lavoro

Le celle sono la spina dorsale di un foglio di lavoro di Excel. Un foglio di lavoro è composto da celle organizzate in righe e colonne. La libreria xlsx offre agli sviluppatori di software un'ampia gamma di funzionalità per la gestione di righe e colonne all'interno delle loro app utilizzando i comandi Go. Supporta l'aggiunta di nuove righe e colonne, l'iterazione di righe e colonne, l'eliminazione di righe e colonne indesiderate, l'aggiunta di nuove celle a una riga, l'ottenimento di valore da una cella, l'applicazione della formattazione a un intervallo di celle e molti altri.

Inserisci colonne & Ross in un foglio di lavoro Excel via Go Library

func Example_insert() {
	xl, err := xlsx.Open("./test_files/example_simple.xlsx")
	if err != nil {
		log.Fatal(err)
	}
	defer xl.Close()
	sheet := xl.Sheet(0)
	fmt.Println(sheet.Dimension())
	fmt.Println(strings.Join(sheet.Col(3).Values(), ","))
	// Insert a new col
	sheet.InsertCol(3)
	fmt.Println(sheet.Dimension())
	fmt.Println(strings.Join(sheet.Col(3).Values(), ","))
	fmt.Println(strings.Join(sheet.Col(4).Values(), ","))
	// Insert a new row
	fmt.Println(strings.Join(sheet.Row(9).Values(), ","))
	sheet.InsertRow(3)
	fmt.Println(sheet.Dimension())
	fmt.Println(strings.Join(sheet.Row(9).Values(), ","))
	fmt.Println(strings.Join(sheet.Row(10).Values(), ","))
}

Applicare stili e formattazione

La libreria Free Library xlsx ha fornito diverse importanti funzioni che consentono agli sviluppatori di software di applicare facilmente la formattazione e gli stili ai propri fogli di calcolo. Gli stili forniscono il layout e la decorazione di celle come carattere, colore, allineamento del contenuto, dimensione del carattere, riempimento, ecc. Puoi facilmente applicare lo stile a un intervallo di celle con solo un paio di righe di codice. Devi solo creare uno stile una volta e riutilizzarlo quando necessario. Puoi anche applicare formati di numero e data per le celle.

Applicare Stili e Formattazione su Excel File via Go Library

gfunc Example_formatting() {
	xl, err := xlsx.Open("./test_files/example_simple.xlsx")
	if err != nil {
		log.Fatal(err)
	}
	defer xl.Close()
	// Create a new format for a bold font with red color and yellow solid background
	redBold := styles.New(
		styles.Font.Bold,
		styles.Font.Color("#ff0000"),
		styles.Fill.Background("#ffff00"),
		styles.Fill.Type(styles.PatternTypeSolid),
	)
	// Add formatting to xlsx
	styleID := xl.AddStyles(redBold)
	sheet := xl.Sheet(0)
	// Set formatting for cell
	sheet.CellByRef("N28").SetStyles(styleID)
	// Set DEFAULT formatting for row. Affects cells not yet allocated in the row.
	// In other words, this style applies to new cells.
	sheet.Row(9).SetStyles(styleID)
	// Set DEFAULT formatting for col. Affects cells not yet allocated in the col.
	// In other words, this style applies to new cells.
	sheet.Col(3).SetStyles(styleID)
	//set formatting for all cells in range
	sheet.RangeByRef("D10:H13").SetStyles(styleID)
}
 Italiano