Classeur
Options
définit les options de lecture et d'écriture des feuilles de calcul.
type Options struct {
MaxCalcIterations uint
Password string
RawCellValue bool
UnzipSizeLimit int64
UnzipXMLSizeLimit int64
ShortDatePattern string
LongDatePattern string
LongTimePattern string
CultureInfo CultureName
}
MaxCalcIterations
est utilisé pour spécifier le nombre maximal d'itérations lors du calcul des formules, avec une valeur par défaut de 0.
Password
est utilisé pour spécifier le mot de passe d'ouverture et d'enregistrement du classeur en texte brut, avec une valeur par défaut vide.
RawCellValue
est utilisé pour spécifier si l'on doit récupérer la valeur brute lors de la lecture des valeurs des cellules, avec une valeur par défaut de false
(application du format numérique).
UnzipSizeLimit
est utilisé pour spécifier la limite de taille (en octets) pour la décompression lors de l'ouverture d'un document de feuille de calcul, qui doit être supérieure ou égale à UnzipXMLSizeLimit
, avec une limite par défaut de 16 Go.
UnzipXMLSizeLimit
est utilisé pour spécifier la limite de mémoire (en octets) lors de la décompression de chaque feuille de calcul et du tableau de chaînes partagées, et lorsque la taille dépasse cette valeur, le fichier XML de la feuille de calcul sera décompressé dans le répertoire temporaire du système. Cette valeur doit être inférieure ou égale à UnzipSizeLimit
, avec une limite par défaut de 16 Mo.
ShortDatePattern
est utilisé pour spécifier le code de format numérique de la date courte.
LongDatePattern
est utilisé pour spécifier le code de format numérique de la date longue.
LongTimePattern
est utilisé pour spécifier le code de format numérique de l'heure longue.
CultureInfo
est utilisé pour spécifier le format régional, qui sera utilisé lors de la lecture des formats numériques influencés par les paramètres régionaux de date et d'heure spécifiques.
Créer
func NewFile(opts ...Options) *File
Utilisez NewFile
pour créer un nouveau classeur Excel, qui contiendra par défaut une feuille nommée Feuille1
.
Ouvrir
func OpenFile(filename string, opts ...Options) (*File, error)
Utilisez OpenFile
pour ouvrir un document Excel existant. Par exemple, ouvrez un document de feuille de calcul avec une protection par mot de passe :
f, err := excelize.OpenFile("Book1.xlsx", excelize.Options{Password: "motdepasse"})
if err != nil {
return
}
Utilisez Close()
pour fermer le classeur ouvert.
Ouvrir un flux de données
func OpenReader(r io.Reader, opts ...Options) (*File, error)
OpenReader lit les données à partir de io.Reader
.
Dans l'exemple suivant, nous créons un serveur HTTP simple pour recevoir des documents de feuille de calcul téléchargés, ajoutons une nouvelle feuille de calcul au document reçu et renvoyons une réponse de téléchargement :
package main
import (
"fmt"
"net/http"
"github.com/xuri/excelize/v2"
)
func process(w http.ResponseWriter, req *http.Request) {
fichier, _, err := req.FormFile("fichier")
if err != nil {
fmt.Fprint(w, err.Error())
return
}
defer fichier.Close()
f, err := excelize.OpenReader(fichier)
if err != nil {
fmt.Fprint(w, err.Error())
return
}
f.Path = "Book1.xlsx"
f.NewSheet("NouvelleFeuille")
w.Header().Set("Content-Disposition", fmt.Sprintf("attachment; filename=%s", f.Path))
w.Header().Set("Content-Type", req.Header.Get("Content-Type"))
if err := f.Write(w); err != nil {
fmt.Fprint(w, err.Error())
}
}
func main() {
http.HandleFunc("/processus", process)
http.ListenAndServe(":8090", nil)
}
Testez à l'aide de cURL :
curl --location --request GET 'http://127.0.0.1:8090/processus' \
--form 'fichier=@/tmp/template.xltx' -O -J
Enregistrer
func (f *File) Save(opts ...Options) error
Utilisez Save
pour enregistrer les modifications apportées à un document Excel.
Enregistrer sous
func (f *File) SaveAs(name string, opts ...Options) error
Utilisez SaveAs
pour enregistrer le document Excel sous un fichier spécifié.
Fermer le classeur
func (f *File) Close() error
Fermez le classeur et nettoyez tout cache disque système qui aurait pu être créé lors de l'ouverture du document.
Nouvelle Feuille de calcul
func (f *File) NewSheet(sheet string) (int, error)
Créez une nouvelle feuille de calcul en fonction du nom de feuille de calcul donné et retournez l'index de la feuille de calcul dans le classeur. Veuillez noter qu'en créant un nouveau classeur, il contiendra une feuille de calcul par défaut nommée Sheet1
.
Supprimer une Feuille de calcul
func (f *File) DeleteSheet(sheet string) error
Supprimez la feuille de calcul spécifiée en fonction du nom de la feuille de calcul donné. Utilisez cette méthode avec prudence, car elle affectera les formules, les références, les graphiques et d'autres éléments associés à la feuille de calcul supprimée. Si d'autres composants font référence à des valeurs sur la feuille de calcul supprimée, une erreur sera signalée, et cela peut même entraîner l'impossibilité d'ouvrir le classeur. Appeler cette méthode est invalide lorsque le classeur ne contient qu'une seule feuille de calcul.
Copier une Feuille de calcul
func (f *File) CopySheet(from, to int) error
Copiez la feuille de calcul en fonction de la feuille de calcul source donnée et de l'index de la feuille de calcul cible. Le développeur doit confirmer si l'index de la feuille de calcul cible existe déjà. Actuellement, seules la copie de feuilles de calcul contenant des valeurs de cellules et des formules sont prises en charge, tandis que la copie de feuilles de calcul contenant des tableaux, des images, des graphiques et des tableaux croisés dynamiques n'est pas prise en charge.
// La feuille de calcul nommée Sheet1 existe déjà ...
index, err := f.NewSheet("Feuil2")
if err != nil {
fmt.Println(err)
return
}
err := f.CopySheet(1, index)
Regrouper les Feuilles de calcul
func (f *File) GroupSheets(sheets []string) error
Regroupez les feuilles de calcul en fonction des noms de feuilles de calcul donnés, et la feuille de calcul par défaut doit être incluse dans les feuilles de calcul données.
Dégrouper les Feuilles de calcul
func (f *File) UngroupSheets() error
Dégroupez les feuilles de calcul.
Définir une Image d'arrière-plan de Feuille de calcul
func (f *File) SetSheetBackground(sheet, picture string) error
Définir une image d'arrière-plan en mosaïque pour la feuille de calcul spécifiée en fonction du nom de la feuille de calcul donné et du chemin du fichier image. Les formats de fichier image pris en charge incluent : BMP, EMF, EMZ, GIF, JPEG, JPG, PNG, SVG, TIF, TIFF, WMF et WMZ.
func (f *File) SetSheetBackgroundFromBytes(sheet, extension string, picture []byte) error
Définir une image d'arrière-plan en mosaïque pour la feuille de calcul spécifiée en fonction du nom de la feuille de calcul donné, de l'extension de format d'image et des données de format d'image. Les formats de fichier image pris en charge incluent : BMP, EMF, EMZ, GIF, JPEG, JPG, PNG, SVG, TIF, TIFF, WMF et WMZ.
Définir la Feuille de calcul par Défaut
func (f *File) SetActiveSheet(index int)
Définir la feuille de calcul par défaut en fonction de la valeur d'index donnée, où la valeur doit être supérieure ou égale à 0
et inférieure au nombre total cumulatif de feuilles de calcul dans le classeur.
Obtenir l'Index de Feuille de calcul par Défaut
func (f *File) GetActiveSheetIndex() int
Obtenez l'index de la feuille de calcul par défaut, renvoyant 0
s'il n'y a pas de feuille de calcul par défaut.
Définir la Visibilité de la Feuille de calcul
func (f *File) SetSheetVisible(sheet string, visible bool, veryHidden ...bool) error
Définissez la visibilité de la feuille de calcul en fonction du nom de la feuille de calcul donné et du paramètre de visibilité. Un classeur doit contenir au moins une feuille de calcul visible. Si la feuille de calcul donnée est la feuille de calcul par défaut, le paramètre de visibilité est invalide. Le troisième paramètre optionnel veryHidden
est seulement valide lorsque la valeur du paramètre visible
est false
.
Par exemple, pour masquer la feuille de calcul nommée Feuil1
:
err := f.SetSheetVisible("Feuil1", false)
Obtenir la Visibilité de la Feuille de calcul
func (f *File) GetSheetVisible(sheet string) (bool, error)
Obtenez le paramètre de visibilité de la feuille de calcul en fonction du nom de la feuille de calcul donné. Par exemple, pour récupérer le paramètre de visibilité de la feuille de calcul nommée Feuil1
:
visible, err := f.GetSheetVisible("Feuil1")
Définir les propriétés de la feuille
func (f *File) SetSheetProps(sheet string, opts *SheetPropsOptions) error
Définit les propriétés d'une feuille spécifiée en fonction du nom de la feuille donné et des options de propriétés. Les options de propriétés de feuille prises en charge sont les suivantes :
Propriété | Type | Description |
---|---|---|
CodeName | *string |
Nom de code |
EnableFormatConditionsCalculation | *bool |
Spécifie si la mise en forme conditionnelle est calculée automatiquement, avec une valeur par défaut de true |
Published | *bool |
Spécifie si la feuille de calcul est publiée, avec une valeur par défaut de true |
AutoPageBreaks | *bool |
Spécifie si la feuille de calcul effectue des sauts de page automatiquement, avec une valeur par défaut de true |
FitToPage | *bool |
Spécifie si l'adaptation à la page est activée pour l'impression, avec une valeur par défaut de false |
TabColorIndexed | *int |
Valeur de la couleur indexée compatible avec les versions antérieures |
TabColorRGB | *string |
Valeur de couleur ARGB standard |
TabColorTheme | *int |
Index de couleur du thème démarrant à partir de 0 |
TabColorTint | *float64 |
Valeur de teinte appliquée à la couleur, avec une valeur par défaut de 0.0 |
OutlineSummaryBelow | *bool |
Spécifie la direction du résumé, en dessous des données détaillées, avec une valeur par défaut de true |
OutlineSummaryRight | *bool |
Spécifie la direction du résumé, à droite des données détaillées, avec une valeur par défaut de true |
BaseColWidth | *uint8 |
Largeur de colonne de base représentée par le nombre de caractères, avec une valeur par défaut de 8 |
DefaultColWidth | *float64 |
Largeur de colonne par défaut incluant les marges et les lignes de grille |
DefaultRowHeight | *float64 |
Hauteur de ligne représentée en points |
CustomHeight | *bool |
Spécifie si la hauteur de ligne personnalisée est appliquée, avec une valeur par défaut de false |
ZeroHeight | *bool |
Spécifie si les lignes sont masquées par défaut, avec une valeur par défaut de false |
ThickTop | *bool |
Spécifie si les lignes ont une bordure supérieure épaisse par défaut, avec une valeur par défaut de false |
ThickBottom | *bool |
Spécifie si les lignes ont une bordure inférieure épaisse par défaut, avec une valeur par défaut de false |
Par exemple, pour masquer la ligne par défaut dans la feuille nommée Sheet1
:
f, enable := excelize.NewFile(), true
if err := f.SetSheetProps("Sheet1", &excelize.SheetPropsOptions{
ZeroHeight: &enable,
}); err != nil {
fmt.Println(err)
}
if err := f.SetRowVisible("Sheet1", 10, true); err != nil {
fmt.Println(err)
}
f.SaveAs("Book1.xlsx")
Obtenir les propriétés de la feuille
func (f *File) GetSheetProps(sheet string) (SheetPropsOptions, error)
Obtient les propriétés d'une feuille spécifiée en fonction du nom de la feuille donné.
Définir les propriétés de la vue de la feuille
func (f *File) SetSheetView(sheet string, viewIndex int, opts *ViewOptions) error
Définit les propriétés de la vue de la feuille en fonction du nom de la feuille, de l'index de la vue et des options de vue. viewIndex
peut être un nombre négatif, auquel cas le décompte se fera à rebours (-1
représente la dernière vue). Les options prises en charge pour définir les propriétés de la vue de la feuille sont les suivantes:
Propriété | Type | Description |
---|---|---|
DefaultGridColor | *bool |
Spécifie s'il faut utiliser la couleur de ligne de grille par défaut, la valeur par défaut est true |
RightToLeft | *bool |
Spécifie si l'affichage se fait de droite à gauche, la valeur par défaut est false |
ShowFormulas | *bool |
Spécifie si la feuille de calcul affiche les formules, la valeur par défaut est false |
ShowGridLines | *bool |
Spécifie si la feuille de calcul affiche les lignes de grille, la valeur par défaut est true |
ShowRowColHeaders | *bool |
Spécifie si la feuille de calcul affiche les en-têtes de ligne et de colonne, la valeur par défaut est true |
ShowRuler | *bool |
Spécifie s'il faut afficher la règle en mode mise en page, la valeur par défaut est true |
ShowZeros | *bool |
Spécifie s'il faut afficher les valeurs zéro dans les cellules, la valeur par défaut est true , sinon elles s'afficheront comme vides |
TopLeftCell | *string |
Spécifie les coordonnées de la cellule supérieure gauche visible |
View | *string |
Indique le type de vue de la feuille de calcul, avec les valeurs énumérées normal , pageBreakPreview et pageLayout |
ZoomScale | *float64 |
Pourcentage actuel de l'échelle de zoom de la fenêtre d'affichage, limité à une plage de 10 à 400, la valeur par défaut est 100 |
Obtenir les propriétés de la vue de la feuille
func (f *File) GetSheetView(sheet string, viewIndex int) (ViewOptions, error)
Récupère les propriétés de la vue de la feuille en fonction du nom de la feuille et de l'index de la vue. viewIndex
peut être un nombre négatif, auquel cas le décompte se fera à rebours (-1
représente la dernière vue).
Définir la mise en page de la feuille de calcul
func (f *File) SetPageLayout(sheet string, opts *OptionsMiseEnPage) error
Définir les attributs de mise en page de la feuille de calcul en fonction du nom de la feuille de calcul donné et des paramètres de mise en page. Les attributs de mise en page actuellement pris en charge comprennent :
L'attribut Taille
est utilisé pour spécifier la taille du papier de la page, la taille par défaut de la mise en page étant "Letter 8½ × 11 pouces". Le tableau suivant montre la relation entre les tailles de mise en page et l'index du paramètre Taille
dans Excelize :
Index | Format de papier |
---|---|
1 | Letter 8½ × 11 pouces |
2 | Letter Small 8½ × 11 pouces |
3 | Tabloid 11 × 17 pouces |
4 | Ledger 17 × 11 pouces |
... | ... |
40 | German Standard Fanfold 8.5 × 12 pouces |
| 41 | German legal paper fanfold 8.5 × 13 pouces |
| 42 | ISO B4 250 × 353 mm |
| 43 | Carte postale japonaise 100 × 148 mm |
| 44 | Papier standard 9 × 11 pouces |
| 45 | Papier standard 10 × 11 pouces |
| 46 | Papier standard 15 × 11 pouces |
| 47 | Lettre d'invitation 220 × 220 mm |
| 50 | En-tête agrandi 9.275 × 12 pouces |
| 51 | Papier légal extra large 9.275 × 15 pouces |
| 52 | Papier supplémentaire Tabloid 11.69 × 18 pouces |
| 53 | A4 extra large 236 × 322 mm |
| 54 | En-tête en format paysage 8.275 × 11 pouces |
| 55 | A4 en format paysage 210 × 297 mm |
| 56 | En-tête extra large en format paysage 9.275 × 12 pouces |
| 57 | SuperA/SuperA/A4 227 × 356 mm |
| 58 | SuperB/SuperB/A3 305 × 487 mm |
| 59 | En-tête agrandi 8.5 × 12.69 pouces |
| 60 | A4 agrandi 210 × 330 mm |
| 61 | A5 en format paysage 148 × 210 mm |
| 62 | JIS B5 en format paysage 182 × 257 mm |
| 63 | A3 extra large 322 × 445 mm |
| 64 | A5 extra large 174 × 235 mm |
| 65 | ISO B5 extra large 201 × 276 mm |
| 66 | A2 420 × 594 mm |
| 67 | A3 en format paysage 297 × 420 mm |
| 68 | A3 extra large en format paysage 322 × 445 mm |
| 69 | Double carte postale japonaise 200 × 148 mm |
| 70 | A6 105 × 148 mm |
| 71 | Enveloppe japonaise Kaku #2 |
| 72 | Enveloppe japonaise Kaku #3 |
| 73 | Enveloppe japonaise Chou #3 |
| 74 | Enveloppe japonaise Chou #4 |
| 75 | En-tête en format paysage 11 × 8½ pouces |
| 76 | A3 en format paysage 420 × 297 mm |
| 77 | A4 en format paysage 297 × 210 mm |
| 78 | A5 en format paysage 210 × 148 mm |
| 79 | B4 (JIS) en format paysage 364 × 257 mm |
| 80 | B5 (JIS) en format paysage 257 × 182 mm |
| 81 | Carte postale japonaise en format paysage 148 × 100 mm |
| 82 | Double carte postale japonaise en format paysage 148 × 200 mm |
| 83 | A6 en format paysage 148 × 105 mm |
| 84 | Enveloppe japonaise Kaku #2 en format paysage |
| 85 | Enveloppe japonaise Kaku #3 en format paysage |
| 86 | Enveloppe japonaise Chou #3 en format paysage |
| 87 | Enveloppe japonaise Chou n°4 Paysage |
| 88 | B6 (JIS) 128 × 182 mm |
| 89 | B6 (JIS) Paysage 182 × 128 mm |
| 90 | 12 × 11 pouces |
| 91 | Enveloppe japonaise You n°4 |
| 92 | Enveloppe japonaise You n°4 Paysage |
| 93 | Chinois 16K 146 × 215 mm |
| 94 | Chinois 32K 97 × 151 mm |
| 95 | Chinois Grand 32K 97 × 151 mm |
| 96 | Enveloppe chinoise #1 102 × 165 mm |
| 97 | Enveloppe chinoise #2 102 × 176 mm |
| 98 | Enveloppe chinoise #3 125 × 176 mm |
| 99 | Enveloppe chinoise #4 110 × 208 mm |
| 100 | Enveloppe chinoise #5 110 × 220 mm |
| 101 | Enveloppe chinoise #6 120 × 230 mm |
| 102 | Enveloppe chinoise #7 160 × 230 mm |
| 103 | Enveloppe chinoise #8 120 × 309 mm |
| 104 | Enveloppe chinoise #9 229 × 324 mm |
| 105 | Enveloppe chinoise #10 324 × 458 mm |
| 106 | Chinois 16K Paysage |
| 107 | Chinois 32K Paysage |
| 108 | Chinois Grand 32K Paysage |
| 109 | Enveloppe chinoise #1 Paysage 165 × 102 mm |
| 110 | Enveloppe chinoise #2 Paysage 176 × 102 mm |
| 111 | Enveloppe chinoise #3 Paysage 176 × 125 mm |
| 112 | Enveloppe chinoise #4 Paysage 208 × 110 mm |
| 113 | Enveloppe chinoise #5 Paysage 220 × 110 mm |
| 114 | Enveloppe chinoise #6 Paysage 230 × 120 mm |
| 115 | Enveloppe chinoise #7 Paysage 230 × 160 mm |
| 116 | Enveloppe chinoise #8 Paysage 309 × 120 mm |
| 117 | Enveloppe chinoise #9 Paysage 324 × 229 mm |
| 118 | Enveloppe chinoise #10 Paysage 458 × 324 mm |
La propriété `Orientation` est utilisée pour spécifier la direction de la mise en page de la page, la direction de la mise en page par défaut étant "portrait", et les valeurs facultatives sont `portrait` et `paysage`.
La propriété `FirstPageNumber` est utilisée pour spécifier le numéro de page de départ, le réglage par défaut étant automatique.
La propriété `AdjustTo` est utilisée pour spécifier le ratio de mise à l'échelle de la page, avec une plage de 10 à 400, c'est-à-dire une mise à l'échelle de 10% à 400%, et la valeur par défaut est `100` pour une taille normale. Le réglage de `FitToHeight` ou `FitToWidth` remplacera cette propriété.
La propriété `FitToHeight` est utilisée pour spécifier la mise à l'échelle de la page pour ajuster la largeur de la page, avec une valeur par défaut de `1`.
La propriété `FitToWidth` est utilisée pour spécifier la mise à l'échelle de la page pour ajuster la hauteur de la page, avec une valeur par défaut de `1`.
La propriété `BlackAndWhite` est utilisée pour spécifier l'impression monochrome, le réglage par défaut étant désactivé.
f := excelize.NewFile()
var (
size = 10
orientation = "paysage"
firstPageNumber uint = 2
adjustTo uint = 100
fitToHeight = 2
fitToWidth = 2
blackAndWhite = true
)
if err := f.SetPageLayout("Feuille1", &excelize.PageLayoutOptions{
Size: &size,
Orientation: &orientation,
FirstPageNumber: &firstPageNumber,
AdjustTo: &adjustTo,
FitToHeight: &fitToHeight,
FitToWidth: &fitToWidth,
BlackAndWhite: &blackAndWhite,
}); err != nil {
fmt.Println(err)
}
Obtenir la mise en page de la feuille de calcul
func (f *File) GetPageLayout(sheet string) (PageLayoutOptions, error)
Obtenez les propriétés de mise en page de la feuille de calcul en fonction du nom de la feuille de calcul donné et des paramètres de mise en page.
Définir les marges de la page de la feuille de calcul
func (f *File) SetPageMargins(sheet string, opts *PageLayoutMarginsOptions) error
Définissez les marges de la page de la feuille de calcul en fonction du nom de la feuille de calcul donné et des paramètres de marge. Les options de marge prises en charge sont les suivantes :
Option | Type | Description |
---|---|---|
Bottom | *float64 |
Marge inférieure |
Footer | *float64 |
Marge du pied de page |
Header | *float64 |
Marge d'en-tête |
Left | *float64 |
Marge gauche |
Right | *float64 |
Marge droite |
Top | *float64 |
Marge supérieure |
Horizontally | *bool |
Centrage horizontal de la page |
Vertically | *bool |
Centrage vertical de la page |
Obtenir les marges de la page de la feuille de calcul
func (f *File) GetPageMargins(sheet string) (PageLayoutMarginsOptions, error)
Obtenez les marges de la page de la feuille de calcul en fonction du nom de la feuille de calcul donné et des paramètres de marge.
Définir les propriétés du classeur
func (f *File) SetWorkbookProps(opts *WorkbookPropsOptions) error
SetWorkbookProps est utilisé pour définir les propriétés du classeur. Les propriétés de classeur prises en charge sont les suivantes :
Property | Type | Description |
---|---|---|
Date1904 | *bool |
Indique si le classeur utilise le système de dates 1904 |
FilterPrivacy | *bool |
Confidentialité du filtre, indique si l'application vérifie les informations personnelles dans le classeur |
CodeName | *string |
Nom de code |
Obtenir les propriétés du classeur
func (f *File) GetWorkbookProps() (WorkbookPropsOptions, error)
GetWorkbookProps est utilisé pour obtenir les propriétés du classeur.
Définir l'en-tête et le pied de page
func (f *File) SetHeaderFooter(sheet string, opts *HeaderFooterOptions) error
Définir l'en-tête et le pied de page de la feuille de calcul en fonction du nom de la feuille de calcul donnée et des caractères de contrôle.
L'en-tête et le pied de page comprennent les champs suivants:
Champ | Description |
---|---|
AlignWithMargins | Définir l'alignement de l'en-tête et du pied de page avec les marges de la page |
DifferentFirst | Définir l'en-tête et le pied de page pour la première page |
DifferentOddEven | Définir l'en-tête et le pied de page pour les pages impaires et paires |
ScaleWithDoc | Définir l'adaptation de l'en-tête et du pied de page au document |
OddFooter | Caractère de contrôle pour le pied de page des pages impaires, utilisé pour définir le pied de page pour la première page lorsque la valeur de DifferentOddEven est false |
OddHeader | Caractère de contrôle pour l'en-tête des pages impaires, utilisé pour définir l'en-tête pour la première page lorsque la valeur de DifferentOddEven est false |
EvenFooter | Caractère de contrôle pour le pied de page des pages paires |
EvenHeader | Caractère de contrôle pour l'en-tête des pages paires |
FirstFooter | Caractère de contrôle pour le pied de page de la première page |
FirstHeader | Caractère de contrôle pour l'en-tête de la première page |
Les codes de format dans le tableau ci-dessous peuvent être utilisés pour les 6 champs de type chaîne: OddHeader
, OddFooter
, EvenHeader
, EvenFooter
, FirstFooter
, FirstHeader
Code de format | Description |
---|---|
&& |
Caractère "&" |
&font-size |
Taille de police de texte, où la taille de police est une taille de police décimale en points |
&"nom de la police, type de police" |
Chaîne de nom de police de texte, nom de police, et chaîne de type de police de texte, type de police |
&"-,Normal" |
Format de texte normal. Désactive les modes gras et italique |
&A |
Nom de la feuille de calcul actuelle |
&B ou &"-,Gras" |
Format de texte en gras, désactivé ou activé, par défaut désactivé |
&D |
Date actuelle |
&C |
Section centrale |
&E |
Double soulignement pour le texte |
&F |
Nom du fichier de classeur actuel |
&G |
Spécifier l'objet comme arrière-plan (actuellement non pris en charge) |
&H |
Ombre du texte |
&I ou &"-,Italique" |
Texte en italique |
&K |
Format de couleur de police au format couleur RVB en RRGGBB. Les couleurs de thème sont spécifiées comme TTSNNN, où TT est l'identifiant de couleur de thème, S est la teinte ou l'ombre du "+", "-", est la valeur de la teinte ou de l'ombre |
&L |
Section gauche |
&N |
Nombre total de pages |
&O |
Format de texte de contour |
&P[[+\|-]n] |
S'il n'y a pas de suffixe facultatif, numéro de page actuel (décimal) |
&R |
Section droite |
&S |
Barré le texte |
&T |
Heure actuelle |
&U |
Ajouter un seul soulignement au texte. Le mode par défaut est désactivé |
&X |
Format en exposant |
&Y |
Format en indice |
&Z |
Chemin du fichier de classeur actuel |
Par exemple:
err := f.SetHeaderFooter("Feuille1", &excelize.HeaderFooterOptions{
DifferentFirst: true,
DifferentOddEven: true,
OddHeader: "&R&P",
OddFooter: "&C&F",
EvenHeader: "&L&P",
EvenFooter: "&L&D&R&T",
FirstHeader: `&CCenter &"-,Gras"Gras&"-,Normal"En-têteU+000A&D`,
})
L'exemple ci-dessus contient le format suivant:
- La première page a son propre en-tête et pied de page
- Les pages impaires et paires ont des en-têtes et pieds de page différents
- La partie droite de l'en-tête de la page impaire est le numéro de page actuel
- La partie centrale du pied de page de la page impaire est le nom du fichier du classeur actuel
- La partie gauche est le numéro de page actuel dans l'en-tête de la page paire
- La partie gauche est la date actuelle, et la partie droite du pied de page de la page paire est l'heure actuelle
- Le texte sur la première ligne dans la section centrale de la première page est "Centre Gras En-tête", et la deuxième ligne est la date
- Il n'y a pas de pied de page sur la première page
Définir le nom
func (f *File) SetDefinedName(definedName *DefinedName) error
Définit le nom et la plage de référence en fonction du nom donné, la portée par défaut étant le classeur. Par exemple :
err := f.SetDefinedName(&excelize.DefinedName{
Name: "Montant",
RefersTo: "Feuille1!$A$2:$D$5",
Comment: "commentaire sur le nom défini",
Scope: "Feuille2",
})
Définition de la zone d'impression et des titres d'impression de la feuille de calcul :
if err := f.SetDefinedName(&excelize.DefinedName{
Name: "_xlnm.Zone_Impression",
RefersTo: "Feuille1!$A$1:$Z$100",
Scope: "Feuille1",
}); err != nil {
fmt.Println(err)
}
if err := f.SetDefinedName(&excelize.DefinedName{
Name: "_xlnm.Titres_Impression",
RefersTo: "Feuille1!$A:$A,Feuille1!$1:$1",
Scope: "Feuille1",
}); err != nil {
fmt.Println(err)
}
Obtenir le nom
func (f *File) GetDefinedName() []DefinedName
Obtient la liste des noms du classeur et de la feuille de calcul dans la portée donnée.
Supprimer le nom
func (f *File) DeleteDefinedName(definedName *DefinedName) error
Supprime le nom défini en fonction du nom et de la portée du nom donnés, la portée par défaut étant le classeur. Par exemple :
err := f.DeleteDefinedName(&excelize.DefinedName{
Name: "Montant",
Scope: "Feuille2",
})
Définir les propriétés de l'application du classeur
func (f *File) SetAppProps(appProperties *AppProperties) error
Définit les propriétés de l'application du classeur. Les propriétés qui peuvent être définies incluent :
Propriété | Description |
---|---|
Application | Le nom de l'application qui a créé ce document |
ScaleCrop | Spécifie l'affichage de la miniature du document. Définir sur true pour adapter la miniature du document et false pour recadrer la miniature du document |
DocSecurity | Niveau de sécurité du document représenté sous forme de valeur numérique |
Company | Le nom de l'entreprise associé au document |
LinksUpToDate | Définit si les hyperliens dans le document sont à jour. Définir sur true pour des hyperliens mis à jour et false pour des hyperliens obsolètes |
HyperlinksChanged | Spécifie si les nouveaux hyperliens spécifiés dans cette section doivent être utilisés pour mettre à jour les relations d'hyperlien la prochaine fois que ce document est ouvert |
AppVersion | Spécifie la version de l'application qui a généré ce document. La valeur doit être au format XX.YYYY, où X et Y sont des valeurs numériques, sinon le fichier ne sera pas conforme à la norme |
Par exemple :
err := f.SetAppProps(&excelize.AppProperties{
Application: "Microsoft Excel",
ScaleCrop: true,
DocSecurity: 3,
Company: "Nom de l'entreprise",
LinksUpToDate: true,
HyperlinksChanged: true,
AppVersion: "16.0000",
})
Obtenir les propriétés de l'application du classeur
func (f *File) GetAppProps() (*AppProperties, error)
Obtient les propriétés de l'application du classeur.
Définir les propriétés du document
func (f *File) SetDocProps(docProperties *DocProperties) error
Définit les propriétés principales du classeur. Les propriétés qui peuvent être définies comprennent:
Propriété | Description |
---|---|
Catégorie | La catégorie du contenu du document |
ÉtatDuContenu | L'état du contenu du document. Par exemple, les valeurs peuvent inclure "Brouillon", "Révisé" et "Finalisé" |
Créé | L'heure à laquelle le document a été créé, représentée au format UTC ISO 8601, par exemple 2019-06-04T22:00:10Z |
Créateur | Le créateur du document |
Description | La description du contenu de la ressource |
Identifiant | Une référence claire à la ressource dans un contexte donné |
MotsClés | Mots-clés du document |
Langue | La langue principale du contenu du document |
DernièreModificationPar | L'utilisateur qui a dernièrement modifié le document |
Modifié | L'heure à laquelle le document a été modifié, représentée au format UTC ISO 8601, par exemple 2019-06-04T22:00:10Z |
Révision | La version de révision du document |
Sujet | Le sujet du document |
Titre | Le titre du document |
Version | Le numéro de version, défini par l'utilisateur ou l'application |
Par exemple:
err := f.SetDocProps(&excelize.DocProperties{
Category: "catégorie",
ContentStatus: "Brouillon",
Created: "2019-06-04T22:00:10Z",
Creator: "Go Excelize",
Description: "Ce fichier a été créé par Go Excelize",
Identifier: "xlsx",
Keywords: "Feuille de calcul",
LastModifiedBy: "Go Author",
Modified: "2019-06-04T22:00:10Z",
Revision: "0",
Subject: "Sujet de test",
Title: "Titre de test",
Language: "fr-FR",
Version: "1.0.0",
})
Obtenir les propriétés du document
func (f *File) GetDocProps() (*DocProperties, error)
Obtient les propriétés principales du classeur.
Protéger le classeur
func (f *File) ProtectWorkbook(opts *WorkbookProtectionOptions) error
Protège la structure du classeur avec un mot de passe pour empêcher d'autres utilisateurs de visualiser des feuilles de calcul masquées, d'ajouter, de déplacer, ou de masquer des feuilles de calcul, et de renommer les feuilles de calcul. Le champ NomAlgorithme
prend en charge la spécification des algorithmes de hachage XOR, MD4, MD5, SHA-1, SHA-256, SHA-384, ou SHA-512. Si aucun algorithme de hachage n'est spécifié, l'algorithme XOR est utilisé par défaut. Par exemple, protéger la structure du classeur avec un mot de passe:
err := f.ProtectWorkbook(&excelize.WorkbookProtectionOptions{
Password: "motdepasse",
LockStructure: true,
})
WorkbookProtectionOptions définit les options de protection du classeur.
type WorkbookProtectionOptions struct {
NomAlgorithme string
MotDePasse string
VerrouillerLaStructure bool
VerrouillerLesFenêtres bool
}
Déprotéger le classeur
func (f *File) UnprotectWorkbook(motdepasse ...string) error
Déprotège le classeur, en spécifiant éventuellement un mot de passe pour vérifier et supprimer la protection du classeur.