Biblioteca Go de código abierto para leer archivos XLSX de Excel

Lea documentos XLSX a través de Open Source Go API.

Go-Excel es una biblioteca Go pura y liviana de código abierto para leer documentos de Microsoft Excel. La API tiene como objetivo proporcionar una manera simple y fácil de leer archivos XLSX como una tabla similar a una base de datos relacionada. Mientras lee un archivo XLSX, la API espera que la primera fila sea la fila de título y las filas como filas de datos.

La API proporciona un conjunto de etiquetas para manipular documentos de Excel. La etiqueta de columna se asigna al nombre de campo en la fila de título, la etiqueta predeterminada establece el valor predeterminado cuando no se define ningún valor, la etiqueta dividida divide una cadena y la convierte en una porción, la etiqueta nil omite el valor de escaneo en la celda y requiere etiqueta devuelve un error si el título de la columna no existe en Excel.

Previous Next

Primeros pasos con Go-Excel

La forma recomendada de instalar Go-Excel en su proyecto es usar GitHub. Utilice el siguiente comando para una instalación sin problemas.

Instalar go-excel a través de GitHub

go get github.com/szyhf/go-excel 

Leer archivo de Excel a través de Free Go API

La biblioteca de código abierto Go-Excel permite a los programadores de computadoras leer archivos de Excel a través de GO. Mientras lee el archivo de Excel, puede usar el nombre del campo como nombre de columna predeterminado y puede asignar una columna a más de un campo. Después de configurar las opciones de lectura, abre una nueva conexión con un archivo de Excel usando el método excel.NewConnector() y exitosamente, al conectarse al archivo de Excel puede leer su contenido usando el método conn.NewReader().

Lector simple para leer archivos de Excel en aplicaciones Go

type Reader interface {
	// Get all titles sorted
	GetTitles() []string
	// Read current row into a object
	Read(v interface{}) error
	// Read all rows
	// container: container should be ptr to slice or array.
	ReadAll(container interface{}) error
	// Read next rows
	Next() bool
	// Close the reader
	Close() error
}

Métodos avanzados para leer Excel a través de GO API

La API de código abierto Go-Excel proporciona métodos básicos y avanzados para leer archivos de Excel. Puede usar la fila de índice como título, todas las filas antes de la fila de título se ignorarán y la fila de título predeterminada se establece en 0. Puede omitir las filas vacías y omitir las columnas más grandes que el título. La API permite establecer celdas vacías con valores predeterminados y puede establecer valores predeterminados utilizando unmarshal a través de la codificación.BinaryUnmarshaler

Lea el mapa vía Free Gt API

conn := excel.NewConnecter()
err := conn.Open(filePath)
if err != nil {
	fmt.Println(err)
	return
}
defer conn.Close()
// Generate an new reader of a sheet
// sheetNamer: if sheetNamer is string, will use sheet as sheet name.
//             if sheetNamer is int, will i'th sheet in the workbook, be careful the hidden sheet is counted. i ∈ [1,+inf]
//             if sheetNamer is a object implements `GetXLSXSheetName()string`, the return value will be used.
//             otherwise, will use sheetNamer as struct and reflect for it's name.
// 			   if sheetNamer is a slice, the type of element will be used to infer like before.
rd, err := conn.NewReader(stdSheetName)
if err != nil {
	fmt.Println(err)
	return
}
defer rd.Close()
idx := 0
for rd.Next() {
	var m map[string]string
	if err := rd.Read(&m); err != nil {
		fmt.Println(err)
		return
	}
	expectStdMap := expectStandardMapList[idx]
	if !reflect.DeepEqual(m, expectStdMap) {
		fmt.Printf("unexpect std at %d = \n%s", idx, convert.MustJsonPrettyString(expectStdMap))
	}
	fmt.Printf("%d => %s\n", idx, convert.MustJsonString(m))
	idx++
}
 Español