1. Des produits
  2.   Tableur
  3.   GO
  4.   Excelize  

Excelize  

 
 

Bibliothèque Go Open Source pour les feuilles de calcul

Lisez, créez, fusionnez et filtrez des données dans des fichiers de feuille de calcul Excel XLSX / XLSM / XLTM via l'API Go.

Excelize est une bibliothèque Open source pure Go qui fournit des fonctionnalités pour lire et écrire des fichiers de tableur Microsoft Excel XLSX / XLSM / XLTM. Les développeurs peuvent lire et écrire des feuilles de calcul générées par Microsoft Excel™ 2007 et versions ultérieures dans leurs propres applications. La bibliothèque est très conviviale et prend en charge la lecture de fichiers de feuilles de calcul volumineux. Il a fourni une API de streaming pour générer ou lire des données à partir d'une feuille de calcul contenant d'énormes quantités de données.

La bibliothèque prend entièrement en charge plusieurs fonctionnalités importantes liées à la manipulation et au traitement des fichiers de feuille de calcul Excel, telles que la lecture et l'écriture de fichiers Excel, l'utilisation de plages de cellules, la gestion de lignes Excel, l'ajout de commentaires, la fusion de cellules, la copie de lignes, la mise en forme conditionnelle, l'insertion de textes, la gestion de tableaux. dans des fichiers Excel, ajoutez des images, ajoutez de nouvelles feuilles et bien d'autres.

Previous Next

Premiers pas avec Excelize

La façon recommandée d'installer Excelize est de GitHub, veuillez utiliser la commande suivante pour une installation plus rapide.

Installer via la commande GitHub

 go get github.com/360EntSecGroup-Skylar/excelize 

Générer un fichier Excel XLSX via Go Library

Excelize permet aux programmeurs de générer une feuille de calcul Excel XLSX dans leurs propres applications Go. Une fois que vous avez créé la feuille, vous pouvez également créer une nouvelle feuille, définir la valeur d'une cellule, définir le nombre de lignes et de colonnes, définir une feuille active du classeur, etc. Vous pouvez également attribuer un nom à une feuille et enregistrer le fichier dans le chemin de votre choix, définir le type de police et la taille du texte pour une feuille créée. 

Créer le fichier Excel LS par l'entremise du G API

package main
import (
    "fmt"
    "github.com/xuri/excelize/v2"
)
func main() {
    f := excelize.NewFile()
    // Create a new sheet.
    index := f.NewSheet("Sheet2")
    // Set value of a cell.
    f.SetCellValue("Sheet2", "A2", "Hello world.")
    f.SetCellValue("Sheet1", "B2", 100)
    // Set active sheet of the workbook.
    f.SetActiveSheet(index)
    // Save spreadsheet by the given path.
    if err := f.SaveAs("Book1.xlsx"); err != nil {
        fmt.Println(err)
    }
}

Insérer un graphique dans un fichier XLSX

Les graphiques Excel sont des représentations visuelles des données d'une feuille de calcul qui peuvent permettre une meilleure compréhension des données en résumant de grandes quantités de données dans une petite section de votre feuille de calcul. Les graphiques permettent aux utilisateurs d'afficher visuellement des données dans différents formats tels que Barre, Colonne, Secteur, Ligne, Zone ou Radar, etc. La bibliothèque Excelize prend en charge la génération de graphiques ainsi que le contrôle avec seulement quelques lignes de code dans vos propres applications. Il permet de créer des graphiques basés sur les données d'une feuille de calcul ou de générer des graphiques sans aucune donnée.

Ajouter le tableau au fichier de feuilles de calcul Excel par l'intermédiaire du G API

package main
import (
    "fmt"
    "github.com/xuri/excelize/v2"
)
func main() {
    categories := map[string]string{
        "A2": "Small", "A3": "Normal", "A4": "Large",
        "B1": "Apple", "C1": "Orange", "D1": "Pear"}
    values := map[string]int{
        "B2": 2, "C2": 3, "D2": 3, "B3": 5, "C3": 2, "D3": 4, "B4": 6, "C4": 7, "D4": 8}
    f := excelize.NewFile()
    for k, v := range categories {
        f.SetCellValue("Sheet1", k, v)
    }
    for k, v := range values {
        f.SetCellValue("Sheet1", k, v)
    }
    if err := f.AddChart("Sheet1", "E1", `{
        "type": "col3DClustered",
        "series": [
        {
            "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":
        {
            "name": "Fruit 3D Clustered Column Chart"
        }
    }`); err != nil {
        fmt.Println(err)
        return
    }
    // Save spreadsheet by the given path.
    if err := f.SaveAs("Book1.xlsx"); err != nil {
        fmt.Println(err)
    }
}

Création d'un tableau croisé dynamique dans un fichier Excel

Excelize offre la possibilité de créer facilement un tableau croisé dynamique dans une feuille de calcul Excel. Les tableaux croisés dynamiques sont l'une des fonctionnalités les plus puissantes de Microsoft Excel. C'est un outil puissant pour calculer, résumer et analyser vos données dans une feuille Excel. Vous pouvez créer un tableau croisé dynamique simple à l'aide de la fonction AddPivotTable. De plus, vous pouvez facilement affecter ou modifier une source de données à un tableau croisé dynamique.

Générer PivotTable dans le fichier Excel à l'intérieur des Apps Go

func main() {
    f := excelize.NewFile()
    // Create some data in a sheet
    month := []string{"Jan", "Feb", "Mar", "Apr", "May",
        "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}
    year := []int{2017, 2018, 2019}
    types := []string{"Meat", "Dairy", "Beverages", "Produce"}
    region := []string{"East", "West", "North", "South"}
    f.SetSheetRow("Sheet1", "A1", &[]string{"Month", "Year", "Type", "Sales", "Region"})
    for row := 2; row < 32; row++ {
        f.SetCellValue("Sheet1", fmt.Sprintf("A%d", row), month[rand.Intn(12)])
        f.SetCellValue("Sheet1", fmt.Sprintf("B%d", row), year[rand.Intn(3)])
        f.SetCellValue("Sheet1", fmt.Sprintf("C%d", row), types[rand.Intn(4)])
        f.SetCellValue("Sheet1", fmt.Sprintf("D%d", row), rand.Intn(5000))
        f.SetCellValue("Sheet1", fmt.Sprintf("E%d", row), region[rand.Intn(4)])
    }
    if err := f.AddPivotTable(&excelize.PivotTableOptions{
        DataRange:       "Sheet1!$A$1:$E$31",
        PivotTableRange: "Sheet1!$G$2:$M$34",
        Rows: []excelize.PivotTableField{
            {Data: "Month", DefaultSubtotal: true}, {Data: "Year"}},
        Filter: []excelize.PivotTableField{
            {Data: "Region"}},
        Columns: []excelize.PivotTableField{
            {Data: "Type", DefaultSubtotal: true}},
        Data: []excelize.PivotTableField{
            {Data: "Sales", Name: "Summarize", Subtotal: "Sum"}},
        RowGrandTotals: true,
        ColGrandTotals: true,
        ShowDrill:      true,
        ShowRowHeaders: true,
        ShowColHeaders: true,
        ShowLastColumn: true,
    }); err != nil {
        fmt.Println(err)
    }
    if err := f.SaveAs("Book1.xlsx"); err != nil {
        fmt.Println(err)
    }
}

Ajouter des images aux feuilles de calcul XLSX

La bibliothèque Excelize fournit des fonctionnalités pour ajouter des images à une feuille de calcul Excel XLSX avec seulement quelques lignes de commandes Go. Vous pouvez également modifier les images selon vos besoins. Vous pouvez insérer une image avec une mise à l'échelle ainsi qu'avec un support d'impression.

Ajouter l'image au fichier de feuilles de travail Excel par l'intermédiaire de Go API

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() {
        // Close the spreadsheet.
        if err := f.Close(); err != nil {
            fmt.Println(err)
        }
    }()
    // Insert a picture.
    if err := f.AddPicture("Sheet1", "A2", "image.png", ""); err != nil {
        fmt.Println(err)
    }
    // Insert a picture to worksheet with scaling.
    if err := f.AddPicture("Sheet1", "D2", "image.jpg",
        `{"x_scale": 0.5, "y_scale": 0.5}`); err != nil {
        fmt.Println(err)
    }
    // Insert a picture offset in the cell with printing support.
    if err := f.AddPicture("Sheet1", "H2", "image.gif", `{
        "x_offset": 15,
        "y_offset": 10,
        "print_obj": true,
        "lock_aspect_ratio": false,
        "locked": false
    }`); err != nil {
        fmt.Println(err)
    }
    // Save the spreadsheet with the origin path.
    if err = f.Save(); err != nil {
        fmt.Println(err)
    }
}
 Français