Comment charger une feuille de calcul en Go
Aspose.Cells FOSS pour Go charge un classeur .xlsx existant en mémoire sous forme de Workbook, vous donnant un accès complet à ses feuilles de calcul et cellules via la bibliothèque standard API. Installez le module avec go get avant de commencer.
Guide étape par étape
Étape 1: installer le package
go get github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go/v26Vérifiez la version du module dans votre go.mod après l’installation.
Étape 2: importer les classes requises
import (
cells_foss "github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go/v26/aspose/cells_foss"
)Étape 3: Créer et remplir un classeur à charger
Cet exemple crée d’abord un classeur pour disposer d’un vrai fichier .xlsx à charger — dans votre propre code, remplacez le chemin par une feuille de calcul existante:
wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]
ws.Cells().Set("A1", "Product")
ws.Cells().Set("B1", "Price")
ws.Cells().Set("A2", "Widget A")
ws.Cells().Set("B2", 12.99)
wb.Save("outputfiles/products.xlsx")Étape 4: Lire les valeurs des cellules de la feuille de calcul chargée
Accédez à la première feuille de calcul via Worksheets[0] et lisez les cellules individuelles avec Cells().Get(ref):
wb := cells_foss.NewWorkbook()
wb.Worksheets[0].Cells().Set("B2", 12.99)
ws2 := wb.Worksheets[0]
cell, err := ws2.Cells().Get("B2")
if err != nil {
fmt.Printf("Error reading cell: %v\n", err)
return
}
fmt.Printf("Price: %v\n", cell.Value)Étape 5: Énumérer toutes les cellules remplies
Utilisez Cells().All() lorsque vous devez parcourir chaque cellule qui a été définie, plutôt que de lire les références connues une à une:
wb := cells_foss.NewWorkbook()
ws2 := wb.Worksheets[0]
ws2.Cells().Set("A1", "Product")
allCells := ws2.Cells().All()
for ref, c := range allCells {
fmt.Printf("%s = %v\n", ref, c.Value)
}Problèmes courants et solutions
Get renvoie une erreur pour une référence de cellule. La référence n’a pas encore été définie dans la collection. Confirmez que la cellule a été écrite avec Set, ou vérifiez le résultat renvoyé error explicitement avant d’utiliser la cellule.
Les valeurs semblent être du mauvais type. Cell.Value reflète le type qui a été passé à Set (string, int, float64, etc.) — inspectez-le avec un type switch si vous devez bifurquer selon le type Go sous-jacent.
Le classeur chargé ne contient aucune donnée sur la feuille attendue. Confirmez que vous indexez la bonne entrée dans Worksheets — un classeur peut contenir plus d’une feuille de calcul, et les données ciblées peuvent ne pas se trouver sur Worksheets[0].
Foire aux questions
Le chargement d’un classeur nécessite-t-il que le fichier original existe toujours sur le disque?
Oui — Workbook lit depuis le chemin de fichier que vous fournissez. Gardez le fichier source accessible pendant toute la durée du chargement.
Puis-je modifier une cellule après le chargement et enregistrer les modifications?
Oui — Cells().Set fonctionne sur un classeur chargé de la même façon que sur un classeur nouvellement créé; appelez Save à nouveau pour écrire vos modifications.
Existe-t-il un moyen d’éviter de charger le fichier entier en mémoire?
Oui — utilisez StreamingReader.ProcessRows pour les gros fichiers où vous devez uniquement lire les lignes séquentiellement plutôt que de charger l’ensemble du classeur.