Como carregar uma planilha em Go

Como carregar uma planilha em Go

Aspose.Cells FOSS para Go carrega um workbook .xlsx existente na memória como um Workbook, dando acesso total às suas worksheets e cells através da API da biblioteca padrão. Instale o módulo com go get antes de começar.

Guia passo a passo

Etapa 1: Instalar o pacote

go get github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go/v26

Verifique a versão do módulo no seu go.mod após a instalação.


Etapa 2: Importar as classes necessárias

import (
	cells_foss "github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go/v26/aspose/cells_foss"
)

Etapa 3: Criar e Preencher uma Pasta de Trabalho para Carregar

Este exemplo primeiro cria uma pasta de trabalho para ter um arquivo .xlsx real para carregar — no seu próprio código, substitua o caminho por uma planilha existente:

wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]
ws.Cells().Set("A1", "Product")
ws.Cells().Set("B1", "Price")
ws.Cells().Set("A2", "Widget A")
ws.Cells().Set("B2", 12.99)
wb.Save("outputfiles/products.xlsx")

Etapa 4: Ler Valores das Células da Planilha Carregada

Acesse a primeira planilha através de Worksheets[0] e leia células individuais com Cells().Get(ref):

wb := cells_foss.NewWorkbook()
wb.Worksheets[0].Cells().Set("B2", 12.99)

ws2 := wb.Worksheets[0]
cell, err := ws2.Cells().Get("B2")
if err != nil {
	fmt.Printf("Error reading cell: %v\n", err)
	return
}
fmt.Printf("Price: %v\n", cell.Value)

Etapa 5: Enumerar Todas as Células Populadas

Use Cells().All() quando precisar iterar sobre cada célula que foi definida, em vez de ler referências conhecidas uma por uma:

wb := cells_foss.NewWorkbook()
ws2 := wb.Worksheets[0]
ws2.Cells().Set("A1", "Product")

allCells := ws2.Cells().All()
for ref, c := range allCells {
	fmt.Printf("%s = %v\n", ref, c.Value)
}

Problemas Comuns e Soluções

Get retorna um erro para uma referência de célula. A referência ainda não foi definida na coleção. Confirme se a célula foi escrita com Set, ou verifique o retornado error explicitamente antes de usar a célula.

Os valores parecem ser do tipo errado. Cell.Value reflete qualquer tipo que foi passado para Set (string, int, float64, e assim por diante) — inspecione-o com um type switch se precisar ramificar com base no tipo subjacente do Go.

A planilha carregada não tem dados na aba esperada. Confirme se você está indexando a entrada correta em Worksheets — uma pasta de trabalho pode ter mais de uma planilha, e os dados-alvo podem não estar em Worksheets[0].

Perguntas Frequentes

Carregar uma planilha requer que o arquivo original ainda exista no disco?

Sim — Workbook lê a partir do caminho de arquivo que você fornece. Mantenha o arquivo fonte acessível durante todo o carregamento.

Posso modificar uma célula após o carregamento e salvar as alterações de volta?

Sim — Cells().Set funciona em uma planilha carregada da mesma forma que funciona em uma recém-criada; chame Save novamente para gravar suas alterações.

Existe uma maneira de evitar carregar o arquivo inteiro na memória?

Sim — use StreamingReader.ProcessRows para arquivos grandes onde você só precisa ler as linhas sequencialmente em vez de carregar toda a planilha.

Ver também

 Português