Feuille de calcul

Définir la visibilité de la colonne

func (f *File) SetColVisible(feuille, colonne string, visible bool) error

Définit la visibilité de la colonne donnée en fonction du nom de la feuille de calcul spécifiée et du nom de la colonne. Cette fonction est sûre en cas de concurrence. Par exemple, pour masquer la colonne D sur la feuille de calcul nommée Feuille1 :

err := f.SetColVisible("Feuille1", "D", false)

Masquer les colonnes D à F sur la feuille de calcul nommée Feuille1 :

err := f.SetColVisible("Feuille1", "D:F", false)

Définir la largeur de la colonne

func (f *File) SetColWidth(feuille, debutCol, finCol string, largeur float64) error

Définit la largeur d'une ou de plusieurs colonnes en fonction du nom de la feuille de calcul, de la plage de colonnes et de la valeur de largeur. Cette fonction est sûre en cas de concurrence. Par exemple, pour définir la largeur des colonnes A à H sur la feuille de calcul nommée Feuille1 à 20 :

err := f.SetColWidth("Feuille1", "A", "H", 20)

Définir la hauteur de la ligne

func (f *File) SetRowHeight(feuille string, ligne int, hauteur float64) error

Définit la hauteur d'une seule ligne en fonction du nom de la feuille de calcul, du numéro de ligne et de la valeur de hauteur. Par exemple, pour définir la hauteur de la première ligne sur la feuille de calcul nommée Feuille1 à 50 :

err := f.SetRowHeight("Feuille1", 1, 50)

Définir la visibilité de la ligne

func (f *File) SetRowVisible(feuille string, ligne int, visible bool) error

Définit la visibilité de la ligne spécifiée en fonction du nom de la feuille de calcul et du numéro de ligne. Par exemple, pour masquer la deuxième ligne sur la feuille de calcul nommée Feuille1 :

err := f.SetRowVisible("Feuille1", 2, false)

Obtenir le nom de la feuille de calcul

func (f *File) GetSheetName(index int) string

Obtient le nom de la feuille de calcul en fonction de l'index de feuille de calcul donné. Si la feuille de calcul n'existe pas, une chaîne vide sera renvoyée.

Obtenir la visibilité de la colonne

func (f *File) GetColVisible(feuille, colonne string) (bool, error)

Obtient la visibilité de la colonne spécifiée dans la feuille de calcul en fonction du nom de la feuille de calcul et du nom de la colonne. Une valeur de retour de true indique la visibilité, tandis que false indique l'invisibilité. Cette fonction est sûre en cas de concurrence. Par exemple, pour obtenir la visibilité de la colonne D sur la feuille de calcul nommée Feuille1 :

visible, err := f.GetColVisible("Feuille1", "D")

Obtenir la largeur de la colonne

func (f *File) GetColWidth(feuille, colonne string) (float64, error)

Obtient la largeur de la colonne spécifiée dans la feuille de calcul en fonction du nom de la feuille de calcul et du nom de la colonne. Cette fonction est sûre en cas de concurrence.

Obtenir la hauteur de la ligne

func (f *File) GetRowHeight(feuille string, ligne int) (float64, error)

Obtient la hauteur de la ligne spécifiée dans la feuille de calcul en fonction du nom de la feuille de calcul et du numéro de ligne. Par exemple, pour obtenir la hauteur de la première ligne sur la feuille de calcul nommée Feuille1 :

hauteur, err := f.GetRowHeight("Feuille1", 1)

Obtenir la visibilité de la ligne

func (f *File) GetRowVisible(feuille string, ligne int) (bool, error)

Obtient la visibilité de la ligne spécifiée dans la feuille de calcul en fonction du nom de la feuille de calcul et du numéro de ligne. Par exemple, pour obtenir la visibilité de la deuxième ligne sur la feuille de calcul nommée Feuille1 :

visible, err := f.GetRowVisible("Feuille1", 2)

Obtenir l'index d'une feuille de calcul

func (f *File) GetSheetIndex(feuille string) (int, error)

Obtient l'index de la feuille de calcul donnée par son nom. Renvoie -1 si la feuille de calcul n'existe pas. L'index obtenu peut être utilisé comme paramètre lors de l'appel de la fonction SetActiveSheet() pour définir la feuille de calcul par défaut du classeur.

Obtenir la correspondance des feuilles de calcul

func (f *File) GetSheetMap() map[int]string

Obtenez la correspondance de toutes les feuilles de calcul, feuilles de graphiques et feuilles de dialogue dans le classeur, représentée par l'ID et le nom.

f, err := excelize.OpenFile("Book1.xlsx")
if err != nil {
    return
}
defer func() {
    if err := f.Close(); err != nil {
        fmt.Println(err)
    }
}()
for index, name := range f.GetSheetMap() {
    fmt.Println(index, name)
}

Obtenir la liste des feuilles de calcul

func (f *File) GetSheetList() []string

Obtenez la liste des feuilles de calcul, y compris les feuilles de calcul, les feuilles de graphiques et les feuilles de dialogue dans le même ordre où elles apparaissent dans le classeur.

Définir le nom d'une feuille de calcul

func (f *File) SetSheetName(source, target string) error

Renommez la feuille de calcul en fonction des anciens et nouveaux noms de feuille de calcul donnés. Le nom de la feuille de calcul peut contenir jusqu'à 31 caractères. Cette fonction ne modifie que le nom de la feuille de calcul et ne mettra pas à jour les formules associées aux cellules ou les noms de feuille de calcul dans les références. Par conséquent, l'utilisation de cette fonction pour renommer une feuille de calcul peut entraîner des erreurs de formule ou des problèmes de référence.

Insérer des colonnes

func (f *File) InsertCols(sheet, col string, n int) error

Insérez des colonnes vides avant la colonne spécifiée en fonction du nom de la feuille de calcul donné, du nom de colonne et du nombre de colonnes à insérer. Par exemple, insérez 2 colonnes vides avant la colonne C dans la feuille de calcul nommée Feuille1 :

err := f.InsertCols("Feuille1", "C", 2)

Insérer des lignes

func (f *File) InsertRows(sheet string, row, n int) error

Insérez des lignes vides avant la ligne spécifiée en fonction du nom de la feuille de calcul donné, du numéro de ligne et du nombre de lignes à insérer. Par exemple, insérez 2 lignes vides avant la 3ème ligne dans la feuille de calcul nommée Feuille1 :

err := f.InsertRows("Feuille1", 3, 2)

Ajouter et copier des lignes

func (f *File) DuplicateRow(sheet string, row int) error

Ajoutez une duplication après le numéro de ligne donné en fonction du nom de la feuille de calcul donné. Par exemple, dupliquez la 2ème ligne de la feuille de calcul nommée Feuille1 à la 3ème ligne :

err := f.DuplicateRow("Feuille1", 2)

Exercez la prudence lors de l'utilisation de cette méthode, car elle affectera toutes les modifications apportées aux formules d'origine, aux graphiques et autres références de ressources dans la feuille de calcul. Si la feuille de calcul contient des valeurs de référence, son ouverture à l’aide d'une application Excel après l'utilisation de cette méthode peut entraîner des erreurs de fichier. excelize prend actuellement en charge uniquement les mises à jour sur des références partielles sur la feuille de calcul.

Dupliquer une ligne

func (f *File) DuplicateRowTo(sheet string, row, row2 int) error

Dupliquez la ligne après la ligne spécifiée en fonction du nom de la feuille et du numéro de ligne donnés. Par exemple, dupliquez la deuxième ligne de la feuille de calcul nommée Feuille1 après la septième ligne :

err := f.DuplicateRowTo("Feuille1", 2, 7)

Veuillez utiliser cette méthode avec prudence, car elle affectera toutes les modifications apportées aux formules d'origine, graphiques et autres ressources référencés dans la feuille de calcul. Si la feuille de calcul contient des valeurs référencées, son ouverture à l'aide d'une application Excel après l'utilisation de cette méthode peut entraîner des erreurs de fichier. excelize prend actuellement en charge uniquement les mises à jour partielles des références sur la feuille de calcul.

Définir le niveau de contour de la ligne

func (f *File) SetRowOutlineLevel(sheet string, row int, level uint8) error

Créez un groupe en fonction du nom de la feuille, du numéro de ligne et du paramètre de niveau de contour donnés. Par exemple, créez un groupe de niveau 1 à la deuxième ligne de la feuille de calcul nommée Feuille1.

Définir le niveau de contour de la ligne

err := f.SetRowOutlineLevel("Feuille1", 2, 1)

Définir le niveau de contour de colonne

func (f *File) SetColOutlineLevel(sheet, col string, level uint8) error

Crée un groupe en fonction du nom de feuille, du nom de colonne et du paramètre de niveau de contour donnés. Par exemple, créez un groupe de niveau 2 dans la colonne D de la feuille de calcul nommée Sheet1.

Définir le niveau de contour de colonne

err := f.SetColOutlineLevel("Sheet1", "D", 2)

Obtenir le niveau de contour de ligne

func (f *File) GetRowOutlineLevel(sheet string, row int) (uint8, error)

Obtenez le niveau de contour en fonction du nom de feuille et du numéro de ligne donnés. Par exemple, obtenez le niveau de contour de la deuxième ligne dans la feuille de calcul nommée Sheet1.

level, err := f.GetRowOutlineLevel("Sheet1", 2)

Obtenir le niveau de contour de colonne

func (f *File) GetColOutlineLevel(sheet, col string) (uint8, error)

Obtenez le niveau de contour en fonction du nom de feuille et du nom de colonne donnés. Par exemple, obtenez le niveau de contour de la colonne D dans la feuille de calcul nommée Sheet1.

level, err := f.GetColOutlineLevel("Sheet1", "D")

Itérateur de colonne

func (f *File) Cols(sheet string) (*Cols, error)

Obtenez l'itérateur de colonnes de la feuille de calcul spécifiée en fonction du nom de la feuille donnée. Cette fonction est sûr pour la concurrence. Utilisez l'itérateur de colonnes pour la lecture en continu et le parcours des cellules:

cols, err := f.Cols("Sheet1")
if err != nil {
    fmt.Println(err)
    return
}
for cols.Next() {
    col, err := cols.Rows()
    if err != nil {
        fmt.Println(err)
    }
    for _, rowCell := range col {
        fmt.Print(rowCell, "\t")
    }
    fmt.Println()
}

Itérateur de colonne - Obtenir les valeurs d'une seule colonne

func (cols *Cols) Rows(opts ...Options) ([]string, error)

Renvoie les valeurs de toutes les lignes dans la colonne actuelle.

Itérateur de colonne - Opération de parcours

func (cols *Cols) Next() bool

Renvoie true s'il y a des valeurs dans la colonne suivante.

Itérateur de colonne - Gestion des erreurs

func (cols *Cols) Error() error

Renvoie une erreur lorsqu'une erreur se produit lors de la recherche de la colonne suivante.

Itérateur de ligne

func (f *File) Rows(sheet string) (*Rows, error)

Obtenez l'itérateur de lignes du nom de feuille donné. Cette fonction est sûre pour la concurrence. Utilisez l'itérateur de lignes pour itérer à travers les cellules pour une lecture en continu:

rows, err := f.Rows("Sheet1")
if err != nil {
    fmt.Println(err)
    return
}
for rows.Next() {
    row, err := rows.Columns()
    if err != nil {
        fmt.Println(err)
    }
    for _, colCell := range row {
        fmt.Print(colCell, "\t")
    }
    fmt.Println()
}
if err = rows.Close(); err != nil {
    fmt.Println(err)
}

Itérateur de ligne - Opération sur une seule ligne

func (rows *Rows) Columns(opts ...Options) ([]string, error)

Cette fonction lit en continu la feuille de calcul ligne par ligne, renvoyant les valeurs de chaque cellule dans la ligne actuelle, sans sauter les lignes vides valides à la fin de la feuille de calcul.

Itérateur de ligne - Opération de parcours

func (rows *Rows) Next() bool

Renvoie true s'il y a une valeur dans la ligne suivante.

Itérateur de ligne - Gestion des erreurs

func (rows *Rows) Error() error

Renvoie une erreur lorsqu'une erreur se produit pendant la recherche de la ligne suivante.

Itérateur de ligne - Lire les propriétés de la ligne

func (rows *Rows) GetRowOpts() RowOpts

Renvoie les propriétés actuelles de la ligne telles que la hauteur de la ligne, la visibilité et l'ID de style.

Itérateur de ligne - Fermer le flux de données

func (rows *Rows) Close() error

Ferme le flux de données et nettoie toute mémoire cache système pouvant avoir été générée lors de l'ouverture de la feuille de calcul.

Recherche dans la feuille de calcul

func (f *File) SearchSheet(sheet, value string, reg ...bool) ([]string, error)

Obtenez les coordonnées en fonction du nom de la feuille de calcul donnée, de la valeur de la cellule ou de l'expression régulière. Cette fonction ne prend en charge que les correspondances complètes de chaînes et de nombres, ne prend pas en charge les résultats calculés, les nombres formatés et les recherches conditionnelles. Si le résultat de la recherche est une cellule fusionnée, les coordonnées du coin supérieur gauche de la zone fusionnée seront renvoyées.

Par exemple, recherchez les coordonnées de la valeur 100 dans la feuille de calcul nommée Sheet1:

result, err := f.SearchSheet("Sheet1", "100")

Par exemple, recherchez les coordonnées des valeurs numériques dans la plage 0-9 dans la feuille de calcul nommée Sheet1:

result, err := f.SearchSheet("Sheet1", "[0-9]", true)

Protéger la feuille de calcul

func (f *File) ProtectSheet(sheet string, opts *SheetProtectionOptions) error

Empêchez les autres utilisateurs de modifier, déplacer ou supprimer accidentellement ou intentionnellement des données dans la feuille de calcul. Le champ optionnel AlgorithmName prend en charge la spécification de l'algorithme de hachage XOR, MD4, MD5, SHA-1, SHA-256, SHA-384 ou SHA-512. Si l'algorithme de hachage n'est pas spécifié, l'algorithme XOR sera utilisé par défaut. Par exemple, définir une protection par mot de passe pour la feuille de calcul nommée Feuille1 mais permettre la sélection des cellules verrouillées, la sélection des cellules déverrouillées et les scénarios d'édition:

Proteger la feuille

err := f.ProtectSheet("Feuille1", &excelize.SheetProtectionOptions{
    AlgorithmName:       "SHA-512",
    Password:            "motdepasse",
    SelectLockedCells:   true,
    SelectUnlockedCells: true,
    EditScenarios:       true,
})

SheetProtectionOptions définit les options de configuration pour protéger la feuille de calcul.

type SheetProtectionOptions struct {
    AlgorithmName       string
    AutoFilter          bool
    DeleteColumns       bool
    DeleteRows          bool
    EditObjects         bool
    EditScenarios       bool
    FormatCells         bool
    FormatColumns       bool
    FormatRows          bool
    InsertColumns       bool
    InsertHyperlinks    bool
    InsertRows          bool
    Password            string
    PivotTables         bool
    SelectLockedCells   bool
    SelectUnlockedCells bool
    Sort                bool
}

Déprotéger la feuille de calcul

func (f *File) UnprotectSheet(sheet string, password ...string) error

Déprotégez la feuille de calcul selon le nom de la feuille de calcul donné et spécifiez le deuxième mot de passe optionnel pour annuler la protection de la feuille de calcul par validation du mot de passe.

Supprimer une colonne

func (f *File) RemoveCol(sheet, col string) error

Supprimez la colonne spécifiée en fonction du nom de la feuille de calcul donnée et du nom de la colonne. Par exemple, supprimez la colonne C dans la feuille de calcul nommée Feuille1:

err := f.RemoveCol("Feuille1", "C")

Veuillez utiliser cette méthode avec prudence, car cela affectera toutes les modifications apportées aux formules d'origine, aux graphiques et à d'autres références de ressources dans la feuille de calcul. Si la feuille de calcul contient des valeurs référencées, l'utilisation de cette méthode peut provoquer des erreurs de fichier lors de l'ouverture avec l'application Excel après utilisation. Excelize prend actuellement en charge uniquement les mises à jour partielles des valeurs référencées dans la feuille de calcul.

Supprimer une ligne

func (f *File) RemoveRow(sheet string, row int) error

Supprimez la ligne spécifiée en fonction du nom de la feuille de calcul donnée et du numéro de ligne. Par exemple, supprimez la 3ème ligne dans la feuille de calcul nommée Feuille1:

err := f.RemoveRow("Feuille1", 3)

Veuillez utiliser cette méthode avec prudence, car cela affectera toutes les modifications apportées aux formules d'origine, aux graphiques et à d'autres références de ressources dans la feuille de calcul. Si la feuille de calcul contient des valeurs référencées, l'utilisation de cette méthode peut provoquer des erreurs de fichier lors de l'ouverture avec l'application Excel après utilisation. Excelize prend actuellement en charge uniquement les mises à jour partielles des valeurs référencées dans la feuille de calcul.

Affecter des valeurs par colonne

func (f *File) SetSheetCol(sheet, cell string, slice interface{}) error

Affectez des valeurs par colonne selon le nom de la feuille de calcul donné, les coordonnées de départ et la référence du type slice. Par exemple, affectez des valeurs par colonne sur la colonne B de la feuille de calcul nommée Feuille1, avec la cellule B6 comme coordonnée de départ:

err := f.SetSheetCol("Feuille1", "B6", &[]interface{}{"1", nil, 2})

Assigner par ligne

func (f *File) SetSheetRow(sheet, cell string, slice interface{}) error

Affecte des valeurs par ligne en fonction du nom de la feuille de calcul donnée, des coordonnées de départ et de la référence au type de slice. Cette fonction est sûre pour la concurrence. Par exemple, à la 6e ligne de la feuille de calcul nommée Feuille1, les valeurs peuvent être affectées par ligne à partir de la cellule B6:

err := f.SetSheetRow("Feuille1", "B6", &[]interface{}{"1", nil, 2})

Insérer un Saut de Page

func (f *File) InsertPageBreak(sheet, cell string) error

Insère un saut de page en fonction du nom de la feuille de calcul donnée et des coordonnées de la cellule. Les sauts de page sont les lignes de division qui séparent la feuille de calcul en pages individuelles à des fins d'impression.

Supprimer un Saut de Page

func (f *File) RemovePageBreak(sheet, cell string) error

Supprime un saut de page en fonction du nom de la feuille de calcul donnée et des coordonnées de la cellule.

Définir la Dimension de la Feuille de Calcul

func (f *File) SetSheetDimension(sheet string, rangeRef string) error

Définit ou supprime la zone utilisée de la feuille de calcul en fonction du nom de la feuille de calcul donnée et des coordonnées de la cellule ou de la plage de coordonnées de la cellule. Les cellules utilisées comprennent les cellules contenant des formules, du contenu texte et une mise en forme de cellule, par exemple, A1:D5. Lorsque la plage de coordonnées de cellule donnée est une chaîne vide, cela supprimera la zone utilisée de la feuille de calcul.

Obtenir la Dimension de la Feuille de Calcul

func (f *File) GetSheetDimension(sheet string) (string, error)

Obtient la zone utilisée de la feuille de calcul spécifiée en fonction du nom de la feuille de calcul donnée.