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
.
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
.
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:
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.