1. Produtos
  2.   Planilha
  3.   GO
  4.   Go-Excel
 
  

Biblioteca Go de código aberto para leitura de arquivos XLSX do Excel

Leia documentos XLSX por meio da API Open Source Go.

Go-Excel é uma biblioteca open source leve pura para leitura de documentos do Microsoft Excel. A API tem como objetivo fornecer uma maneira simples e fácil de ler arquivos XLSX como uma tabela relacionada a db. Ao ler um arquivo XLSX, a API espera a primeira linha como linha de título e as linhas como linhas de dados.

A API fornece um conjunto de tags para manipular documentos do Excel. A tag da coluna mapeia para o nome do campo na linha do título, a tag padrão define o valor padrão quando nenhum valor é definido, a tag split divide uma string e a converte em uma fatia, a tag nil pula o valor de varredura na célula e req A tag retorna um erro se o título da coluna não existir no Excel.

Previous Next

Introdução ao Go-Excel

A maneira recomendada de instalar o Go-Excel em seu projeto é usando o GitHub. Por favor, use o seguinte comando para uma instalação suave.

Instale go-excel via GitHub

go get github.com/szyhf/go-excel 

Leia o arquivo do Excel via API Free Go

A biblioteca de código aberto Go-Excel permite que os programadores de computador leiam arquivos do Excel via GO. Ao ler o arquivo do Excel, você pode usar o nome do campo como o nome da coluna padrão e pode mapear uma coluna em mais de um campo. Após configurar as opções de leitura você abre uma nova conexão com um arquivo Excel utilizando o método excel.NewConnector() e com sucesso, conectando ao arquivo excel você pode ler seu conteúdo utilizando o método conn.NewReader().

Leitor simples para ler o arquivo do Excel no Go Apps

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 avançados para ler o Excel via GO API

A API de código aberto Go-Excel fornece métodos básicos e avançados para ler arquivos do Excel. Você pode usar a linha de índice como título, todas as linhas antes da linha de título serão ignoradas e a linha de título padrão será definida como 0. Você pode pular as linhas vazias e pular colunas maiores que o título. A API permite definir células vazias com valores padrão e você pode definir valores padrão usando unmarshal via codificação.BinaryUnmarshaler

Mapa de leitura via 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++
}
 Português