Introducción

Aspose.Cells FOSS para Go es una biblioteca puramente Go para trabajar con hojas de cálculo Excel. Expone un API para crear nuevos libros de trabajo desde cero, escribir y aplicar estilo a valores de celdas, aplicar reglas de validación de datos, construir tablas estructuradas, incrustar imágenes y leer archivos .xlsx grandes fila por fila — todo sin dependencias nativas de C o C++.

La biblioteca está disponible como módulo Go en github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go y se publica bajo la licencia MIT. Instálala con go get github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go/v26 en cualquier proyecto Go 1.24+.

Esta publicación cubre las capacidades principales: estilo de celdas, validación de datos, tablas, imágenes y lecturas en streaming.


Características clave

Estilo de celdas

Agrupa los ajustes de Font, Fill, Alignment y Border en un Style reutilizable, y luego aplícalo a una celda con Cell.SetStyle:

wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]

boldStyle := cells_foss.NewStyle()
boldStyle.Font.Bold = true
boldStyle.Font.Size = 12

cell, _ := ws.Cells().Get("A1")
cell.SetStyle(boldStyle)

Alignment controla Horizontal, Vertical y WrapText; Border controla la visibilidad de las reglas Top, Bottom, Left y Right además de Color.

Validación de datos

Worksheet.AddDataValidation adjunta una regla de validación a un rango de celdas. La estructura DataValidation contiene la regla Type, uno o dos valores Formula y campos de mensaje de error:

wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]

dv := &cells_foss.DataValidation{
	Type:             cells_foss.DataValidationTypeList,
	Formula1:         `"Apple,Banana,Cherry,Dragonfruit"`,
	AllowBlank:       true,
	ShowErrorMessage: true,
	ErrorTitle:       "Invalid Fruit",
	ErrorMessage:     "Please pick a fruit from the list.",
	ErrorStyle:       cells_foss.ErrorStyleStop,
}
ws.AddDataValidation("A2:A10", dv)

Tablas

Worksheet.AddTable crea una Table estructurada sobre un rango, con una fila de encabezado opcional y un estilo de tabla con nombre:

wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]
ws.Cells().Set("A1", "Item")
ws.Cells().Set("B1", "Qty")

tbl := ws.AddTable("A1:B2")
tbl.HasHeaderRow = true
tbl.StyleName = "TableStyleMedium6"

Imágenes

Worksheet.AddPicture incrusta una imagen; Picture.SetAnchor(row, col) la posiciona:

wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]
imageBytes := []byte{} // populate with real image bytes before use

pic := &cells_foss.Picture{Data: imageBytes, Format: "png"}
ws.AddPicture(pic)
pic.SetAnchor(5, 0)

Transmisión de archivos grandes

StreamingReader lee una hoja de cálculo fila por fila mediante una devolución de llamada, de modo que un libro de trabajo con miles de filas nunca tiene que cargarse completamente en memoria:

sr := cells_foss.NewStreamingReader("large_workbook.xlsx")
err := sr.ProcessRows("Sheet1", func(rowIdx int, cells map[string]string) error {
	// process one row at a time
	return nil
})
if err != nil {
	fmt.Printf("Error streaming: %v\n", err)
}

Inicio rápido

Instala el módulo:

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

Un flujo de trabajo mínimo — crea un libro de trabajo, escribe dos celdas, pone en negrita el encabezado y guarda:

package main

import (
	"fmt"

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

func main() {
	wb := cells_foss.NewWorkbook()
	ws := wb.Worksheets[0]

	ws.Cells().Set("A1", "Product")
	ws.Cells().Set("B1", "Revenue")

	boldStyle := cells_foss.NewStyle()
	boldStyle.Font.Bold = true
	for _, ref := range []string{"A1", "B1"} {
		cell, _ := ws.Cells().Get(ref)
		cell.SetStyle(boldStyle)
	}

	if err := wb.Save("report.xlsx"); err != nil {
		fmt.Printf("Error saving workbook: %v\n", err)
		return
	}
	fmt.Println("Workbook saved to report.xlsx")
}

Formatos compatibles

FormatoExtensiónLeerEscribir
XLSX.xlsx
CSV.csv

Los libros de trabajo XLSX se crean en memoria con NewWorkbook y se escriben con Workbook.Save. CSV es bidireccional mediante Workbook.ImportFromCSV y Workbook.ExportToCSV.


Código abierto y licencias

Aspose.Cells FOSS para Go se publica bajo la licencia MIT. No hay restricciones de uso, ni tarifas de ejecución, ni requisitos de registro. El código fuente está disponible en github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go.

El uso comercial está permitido bajo los términos de la licencia MIT. Si su proyecto requiere soporte de nivel empresarial, cobertura ampliada de formatos o integración en la nube, la Aspose.Cells — Enterprise Product Family es una oferta comercial separada.


Comenzando

Recursos Relacionados