Utilisation basique

Installation

Le tableau suivant indique les exigences minimales du langage Go avec chaque version publiée d'Excelize:

Version Excelize Configuration minimale requise pour la version de la langue Go
v2.8.1 1.18
v2.7.0 ~ v2.8.0 1.16
v2.4.0 ~ v2.6.1 1.15
v2.0.2 ~ v2.3.2 1.10
v1.0.0 ~ v2.0.1 1.6

L'utilisation de la dernière version de la bibliothèque Excelize nécessite Go version 1.16 ou ultérieure. Notez qu'il y a des modifications incompatibles dans Go 1.21.0, cette bibliothèque ne peut pas fonctionner avec cette version, si vous utilisez Go 1.21.x, veuillez passer à Go 1.21.1 et version ultérieure.

  • Installation
go get github.com/xuri/excelize
  • Si votre gestion de package avec des Go Modules, veuillez installer avec la commande suivante.
go get github.com/xuri/excelize/v2

Mise à niveau

  • Mise à niveau
go get -u github.com/xuri/excelize/v2

Créer un document Excel

Voici un exemple d'utilisation minimale qui créera le fichier XLSX:

package main

import (
    "fmt"

    "github.com/xuri/excelize/v2"
)

func main() {
    f := excelize.NewFile()
    defer func() {
        if err := f.Close(); err != nil {
            fmt.Println(err)
        }
    }()
    // Créer une nouvelle feuille.
    index, err := f.NewSheet("Sheet2")
    if err != nil {
        fmt.Println(err)
        return
    }
    // Définir la valeur d'une cellule.
    f.SetCellValue("Sheet2", "A2", "Hello world.")
    f.SetCellValue("Sheet1", "B2", 100)
    // Définir la feuille active du classeur.
    f.SetActiveSheet(index)
    // Enregistrer le fichier xlsx par le chemin donné.
    if err := f.SaveAs("Book1.xlsx"); err != nil {
        fmt.Println(err)
    }
}

Lire un document Excel

Ce qui suit constitue le seul à lire un document XLSX:

package main

import (
    "fmt"

    "github.com/xuri/excelize/v2"
)

func main() {
    f, err := excelize.OpenFile("Book1.xlsx")
    if err != nil {
        fmt.Println(err)
        return
    }
    defer func() {
        if err := f.Close(); err != nil {
            fmt.Println(err)
        }
    }()
    // Obtenir la valeur de la cellule par nom de feuille de calcul donné et axe.
    cell, err := f.GetCellValue("Sheet1", "B2")
    if err != nil {
        fmt.Println(err)
        return
    }
    fmt.Println(cell)
    // Obtenez toutes les lignes de la feuille Sheet1.
    rows, err := f.GetRows("Sheet1")
    if err != nil {
        fmt.Println(err)
        return
    }
    for _, row := range rows {
        for _, colCell := range row {
            fmt.Print(colCell, "\t")
        }
        fmt.Println()
    }
}

Ajouter un graphique au document Excel

Avec Excelize, la génération et la gestion des graphiques est aussi simple que quelques lignes de code. Vous pouvez créer des graphiques basés sur des données dans votre feuille de calcul ou générer des graphiques sans aucune donnée dans votre feuille de calcul.

Ajouter un graphique au document Excel

package main

import (
    "fmt"

    "github.com/xuri/excelize/v2"
)

func main() {
    f := excelize.NewFile()
    defer func() {
        if err := f.Close(); err != nil {
            fmt.Println(err)
        }
    }()
    for idx, row := range [][]interface{}{
        {nil, "Apple", "Orange", "Pear"}, {"Small", 2, 3, 3},
        {"Normal", 5, 2, 4}, {"Large", 6, 7, 8},
    } {
        cell, err := excelize.CoordinatesToCellName(1, idx+1)
        if err != nil {
            fmt.Println(err)
            return
        }
        f.SetSheetRow("Sheet1", cell, &row)
    }
    if err := f.AddChart("Sheet1", "E1", &excelize.Chart{
        Type: excelize.Col3DClustered,
        Series: []excelize.ChartSeries{
            {
                Name:       "Sheet1!$A$2",
                Categories: "Sheet1!$B$1:$D$1",
                Values:     "Sheet1!$B$2:$D$2",
            },
            {
                Name:       "Sheet1!$A$3",
                Categories: "Sheet1!$B$1:$D$1",
                Values:     "Sheet1!$B$3:$D$3",
            },
            {
                Name:       "Sheet1!$A$4",
                Categories: "Sheet1!$B$1:$D$1",
                Values:     "Sheet1!$B$4:$D$4",
            }},
        Title: []excelize.RichTextRun{
            {
                Text: "Fruit 3D Clustered Column Chart",
            },
        },
    }); err != nil {
        fmt.Println(err)
        return
    }
    // Enregistrez le fichier xlsx par le chemin donné.
    if err := f.SaveAs("Book1.xlsx"); err != nil {
        fmt.Println(err)
    }
}

Ajouter l'image au document Excel

package main

import (
    "fmt"
    _ "image/gif"
    _ "image/jpeg"
    _ "image/png"

    "github.com/xuri/excelize/v2"
)

func main() {
    f, err := excelize.OpenFile("Book1.xlsx")
    if err != nil {
        fmt.Println(err)
        return
    }
    defer func() {
        if err := f.Close(); err != nil {
            fmt.Println(err)
        }
    }()
    // Insérer une image.
    if err := f.AddPicture("Sheet1", "A2", "image.png", nil); err != nil {
        fmt.Println(err)
        return
    }
    // Insérer une image dans une feuille de calcul avec mise à l'échelle.
    if err := f.AddPicture("Sheet1", "D2", "image.jpg",
        &excelize.GraphicOptions{ScaleX: 0.5, ScaleY: 0.5}); err != nil {
        fmt.Println(err)
        return
    }
    // Insérer un décalage d'image dans la cellule avec support d'impression.
    enable, disable := true, false
    if err := f.AddPicture("Sheet1", "H2", "image.gif",
        &excelize.GraphicOptions{
            PrintObject:     &enable,
            LockAspectRatio: false,
            OffsetX:         15,
            OffsetY:         10,
            Locked:          &disable,
        }); err != nil {
        fmt.Println(err)
        return
    }
    // Enregistrez le fichier xlsx avec le chemin d'origine.
    if err = f.Save(); err != nil {
        fmt.Println(err)
    }
}

results matching ""

    No results matching ""