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/v26Un 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
| Formato | Extensión | Leer | Escribir |
|---|---|---|---|
| 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
- Guía de instalación
- Guía del desarrollador
- Artículos de la base de conocimientos
- API Reference
- Repositorio de GitHub