Introducción

Más allá de crear y dar estilo a los libros de trabajo, la mayor parte del código cotidiano de hojas de cálculo pasa su tiempo leyendo y escribiendo valores de celdas, adjuntando fórmulas y moviendo datos entre XLSX y CSV. Aspose.Cells FOSS para Go cubre los tres a través de los tipos Workbook y Cells.

La biblioteca está disponible como módulo de 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 recorre la lectura/escritura de celdas, fórmulas, conversión a CSV y eliminación de celdas.


Características clave

Crear un libro de trabajo y escribir celdas

NewWorkbook() devuelve un libro de trabajo con una hoja de cálculo ya presente. Escribe valores con Cells().Set(ref, value):

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

ws.Cells().Set("A1", "Item")
ws.Cells().Set("B1", "Category")
ws.Cells().Set("C1", "Price")
ws.Cells().Set("A2", "Widget A")
ws.Cells().Set("B2", "Gadgets")
ws.Cells().Set("C2", 12.99)

wb.Save("inventory.xlsx")

Leer celdas de nuevo

Cells().Get(ref) devuelve el *Cell para una referencia junto con un error si la referencia es inválida:

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

cell, err := ws.Cells().Get("C2")
if err != nil {
	fmt.Printf("Error: %v\n", err)
	return
}
fmt.Printf("C2 = %v\n", cell.Value)

Usa Cells().All() para enumerar cada celda poblada en la colección cuando necesites iterar sobre toda la hoja.

Agregar una fórmula

Cell.SetFormula almacena una cadena de fórmula en una celda. Crea la celda primero con Set, luego adjunta la fórmula — la fórmula es evaluada por Excel o LibreOffice al abrirse, no por la biblioteca:

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

ws.Cells().Set("D2", nil)
cell, _ := ws.Cells().Get("D2")
cell.SetFormula("C2*2")

Conversión CSV

Workbook.ExportToCSV escribe un índice de hoja de cálculo dado a un archivo CSV con el delimitador de tu elección; Workbook.ImportFromCSV lee un archivo CSV en una hoja de cálculo con nombre:

wb := cells_foss.NewWorkbook()

if err := wb.ExportToCSV(0, "inventory.csv", ','); err != nil {
	fmt.Printf("Error exporting: %v\n", err)
	return
}

Eliminar una celda

Cells().Remove(ref) limpia el valor de una celda:

wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]
ws.Cells().Set("A2", "Widget A")

if err := ws.Cells().Remove("A2"); err != nil {
	fmt.Printf("Error removing cell: %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 una tabla pequeña de valores y expórtala a CSV:

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", "Item")
	ws.Cells().Set("B1", "Price")
	ws.Cells().Set("A2", "Widget A")
	ws.Cells().Set("B2", 12.99)

	if err := wb.ExportToCSV(0, "inventory.csv", ','); err != nil {
		fmt.Printf("Error exporting: %v\n", err)
		return
	}
	fmt.Println("Exported inventory.csv")
}

Formatos compatibles

FormatoExtensiónLeerEscribir
XLSX.xlsx
CSV.csv

Los libros de trabajo XLSX se construyen en memoria con NewWorkbook y se escriben con Workbook.Save. CSV es bidireccional a través de 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, no hay tarifas de ejecución y no se requieren registros. 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, el Aspose.Cells — Enterprise Product Family es una oferta comercial separada.


Primeros pasos

Recursos relacionados