1. Produtos
  2.   Planilha
  3.   GO
  4.   unioffice
 
  

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

Leia, escreva, edite documentos do Microsoft Excel XLSX através da API Open Source Go. Adicione vários gráficos, imagens e tabelas dentro de suas planilhas. 

O Unioffice é uma biblioteca de código aberto pure go que oferece aos desenvolvedores de software a capacidade de gerar, modificar e manipular documentos Office Excel XLSX dentro de seus próprios aplicativos Go. A biblioteca é muito estável e oferece o mais alto grau de produtividade com muito pouco esforço e custo.

A biblioteca unioffice de código aberto suporta totalmente vários recursos importantes relacionados à criação e modificações de planilhas do Excel, como criar novas planilhas do Excel do zero, criar células com vários formatos de número/data/hora, formatação de células do Excel, suporte à validação de células, recuperar valores de células como formatado pelo Excel, formatação condicional, mesclar e unmerge células, validação de dados, incluindo caixas de combinação suspensas, imagens incorporadas e muito mais.

Previous Next

Introdução ao UniOffice

A maneira recomendada de unioffice em seu projeto é usando o Github. Por favor, use o seguinte comando para uma instalação suave.

Instale o unioffice via GitHub

go get github.com/unidoc/unioffice/
go build -i github.com/unidoc/unioffice/... 

Criação do Excel XLSX via Go API

A biblioteca de código aberto unioffice permite que os programadores de computador criem uma planilha Excel XLSX dentro de seus próprios aplicativos Go. Ele oferece a capacidade de adicionar uma nova planilha aos seus documentos Excel existentes e atribuir um nome a uma planilha e salvar o arquivo no caminho de sua escolha. Ele também oferece suporte para vários recursos importantes, como adicionar novas linhas e colunas a uma planilha, definir o número de linhas e colunas, definir o valor padrão de uma célula e muito mais. Você também pode abrir e modificar a planilha existente com facilidade.

Criar arquivo de Excel simples através da biblioteca Go

func main() {
	ss := spreadsheet.New()
	defer ss.Close()
	// add a single sheet
	sheet := ss.AddSheet()
	// rows
	for r := 0; r < 5; r++ {
		row := sheet.AddRow()
		// and cells
		for c := 0; c < 5; c++ {
			cell := row.AddCell()
			cell.SetString(fmt.Sprintf("row %d cell %d", r, c))
		}
	}
	if err := ss.Validate(); err != nil {
		log.Fatalf("error validating sheet: %s", err)
	}
	ss.SaveToFile("simple.xlsx")
} 

Adicionar vários gráficos a um arquivo XLSX do Excel

A biblioteca unioffice fornece suporte para adicionar gráficos a uma planilha do Excel com apenas algumas linhas de código. Você pode criar gráficos com base nos dados disponíveis em sua planilha, bem como sem a disponibilidade de nenhum dado. Os gráficos oferecem a capacidade de exibir dados visualmente em diferentes formatos, como Barra, Coluna, Pizza, Linha, Área ou Radar, etc. Os desenvolvedores podem selecionar facilmente as opções de gráfico disponíveis e controlar seus valores.

Insira vários para o arquivo do Excel via Go API

func main() {
	ss := spreadsheet.New()
	defer ss.Close()
	sheet := ss.AddSheet()
	// Create all of our data
	row := sheet.AddRow()
	row.AddCell().SetString("Item")
	row.AddCell().SetString("Price")
	row.AddCell().SetString("# Sold")
	row.AddCell().SetString("Total")
	for r := 0; r < 5; r++ {
		row := sheet.AddRow()
		row.AddCell().SetString(fmt.Sprintf("Product %d", r+1))
		row.AddCell().SetNumber(1.23 * float64(r+1))
		row.AddCell().SetNumber(float64(r%3 + 1))
		row.AddCell().SetFormulaRaw(fmt.Sprintf("C%d*B%d", r+2, r+2))
	}
	// Charts need to reside in a drawing
	dwng := ss.AddDrawing()
	chrt1, anc1 := dwng.AddChart(spreadsheet.AnchorTypeTwoCell)
	chrt2, anc2 := dwng.AddChart(spreadsheet.AnchorTypeTwoCell)
	addBarChart(chrt1)
	addLineChart(chrt2)
	anc1.SetWidth(9)
	anc1.MoveTo(5, 1)
	anc2.MoveTo(1, 23)
	// and finally add the chart to the sheet
	sheet.SetDrawing(dwng)
	if err := ss.Validate(); err != nil {
		log.Fatalf("error validating sheet: %s", err)
	}
	ss.SaveToFile("multiple-chart.xlsx")
}
func addBarChart(chrt chart.Chart) {
	chrt.AddTitle().SetText("Bar Chart")
	lc := chrt.AddBarChart()
	priceSeries := lc.AddSeries()
	priceSeries.SetText("Price")
	// Set a category axis reference on the first series to pull the product names
	priceSeries.CategoryAxis().SetLabelReference(`'Sheet 1'!A2:A6`)
	priceSeries.Values().SetReference(`'Sheet 1'!B2:B6`)
	soldSeries := lc.AddSeries()
	soldSeries.SetText("Sold")
	soldSeries.Values().SetReference(`'Sheet 1'!C2:C6`)
	totalSeries := lc.AddSeries()
	totalSeries.SetText("Total")
	totalSeries.Values().SetReference(`'Sheet 1'!D2:D6`)
	// the line chart accepts up to two axes
	ca := chrt.AddCategoryAxis()
	va := chrt.AddValueAxis()
	lc.AddAxis(ca)
	lc.AddAxis(va)
	ca.SetCrosses(va)
	va.SetCrosses(ca)
}

Inserir imagens em planilhas XLSX

A biblioteca unioffice suporta totalmente a inclusão de imagens em planilhas XLSX com apenas algumas linhas de código Go. Ele suporta a modificação de imagens, bem como a exclusão de imagens existentes dentro de uma planilha XLSX. Ele também oferece opções para inserir uma imagem e definir suas propriedades como tamanho, posição, etc., além de suporte para impressão.

Insira Imagens para Excel File via Go API

func main() {
	ss := spreadsheet.New()
	defer ss.Close()
	// add a single sheet
	sheet := ss.AddSheet()
	img, err := common.ImageFromFile("gophercolor.png")
	if err != nil {
		log.Fatalf("unable to create image: %s", err)
	}
	iref, err := ss.AddImage(img)
	if err != nil {
		log.Fatalf("unable to add image to workbook: %s", err)
	}
	dwng := ss.AddDrawing()
	sheet.SetDrawing(dwng)
	for i := float64(0); i < 360; i += 30 {
		anc := dwng.AddImage(iref, spreadsheet.AnchorTypeAbsolute)
		ang := i * math.Pi / 180
		x := 2 + 2*math.Cos(ang)
		y := 2 + +2*math.Sin(ang)
		anc.SetColOffset(measurement.Distance(x) * measurement.Inch)
		anc.SetRowOffset(measurement.Distance(y) * measurement.Inch)
		// set the image to 1x1 inches
		var w measurement.Distance = 1 * measurement.Inch
		anc.SetWidth(w)
		anc.SetHeight(iref.RelativeHeight(w))
	}
	if err := ss.Validate(); err != nil {
		log.Fatalf("error validating sheet: %s", err)
	}
	ss.SaveToFile("image.xlsx")
}

Aplicar formatação condicional nas células da planilha

A formatação condicional é um recurso útil que ajuda os usuários do Excel a aplicar um formato a uma célula ou a um intervalo de células com base em determinados critérios. A biblioteca unioffice fornece uma funcionalidade que permite aos desenvolvedores de software aplicar formatação condicional à planilha com apenas alguns comandos Go. A biblioteca inclui suporte para células de formatação condicional, estilo, gradientes, ícones, barra de dados e muito mais.

 Português