Introduction
Au-delà de la création et du style des classeurs, la plupart du code de tableur quotidien passe son temps à lire et écrire les valeurs des cellules, à attacher des formules et à déplacer des données entre XLSX et CSV. Aspose.Cells FOSS pour Go couvre les trois via les types Workbook et Cells.
La bibliothèque est disponible en tant que module Go à github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go et est publiée sous licence MIT. Installez‑la avec go get github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go/v26 dans n’importe quel projet Go 1.24+.
Cet article parcourt la lecture/écriture des cellules, les formules, la conversion CSV et la suppression de cellules.
Fonctionnalités clés
Créer un classeur et écrire des cellules
NewWorkbook() renvoie un classeur avec une feuille de calcul déjà présente. Écrivez des valeurs avec 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")
Lire les cellules à nouveau
Cells().Get(ref) renvoie le *Cell correspondant à une référence ainsi qu’une erreur si la référence est invalide :
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)
Utilisez Cells().All() pour énumérer chaque cellule remplie de la collection lorsque vous devez parcourir toute la feuille.
Ajouter une formule
Cell.SetFormula stocke une chaîne de formule dans une cellule. Créez d’abord la cellule avec Set, puis attachez la formule — la formule est évaluée par Excel ou LibreOffice à l’ouverture, pas par la bibliothèque :
wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]
ws.Cells().Set("D2", nil)
cell, _ := ws.Cells().Get("D2")
cell.SetFormula("C2*2")
Conversion CSV
Workbook.ExportToCSV écrit l’index d’une feuille de calcul donnée dans un fichier CSV avec le délimiteur de votre choix ; Workbook.ImportFromCSV lit un fichier CSV dans une feuille nommée :
wb := cells_foss.NewWorkbook()
if err := wb.ExportToCSV(0, "inventory.csv", ','); err != nil {
fmt.Printf("Error exporting: %v\n", err)
return
}
Supprimer une cellule
Cells().Remove(ref) efface la valeur d’une cellule :
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)
}
Démarrage rapide
Installez le module :
go get github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go/v26Un flux de travail minimal — créez un petit tableau de valeurs et exportez‑le au format 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")
}
Formats pris en charge
| Format | Extension | Lire | Écrire |
|---|---|---|---|
| XLSX | .xlsx | — | ✓ |
| CSV | .csv | ✓ | ✓ |
Les classeurs XLSX sont construits en mémoire avec NewWorkbook et écrits avec Workbook.Save. Le CSV est bidirectionnel via Workbook.ImportFromCSV et Workbook.ExportToCSV.
Open Source & Licence
Aspose.Cells FOSS pour Go est publié sous licence MIT. Il n’y a aucune restriction d’utilisation, aucun frais d’exécution, et aucune exigence d’enregistrement. Le code source est disponible sur github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go.
L’utilisation commerciale est autorisée selon les termes de la licence MIT. Si votre projet nécessite un support de niveau entreprise, une couverture étendue des formats, ou une intégration cloud, le Aspose.Cells — Enterprise Product Family est une offre commerciale distincte.