Classeur
Options
définit les options de lecture et d'écriture de 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
specifies the maximum iterations for iterative calculation, the default value is 0.
Password
spécifie le mot de passe de la feuille de calcul en texte brut.
RawCellValue
spécifie si appliquer le format numérique pour la valeur de la cellule ou obtenir la valeur brute.
UnzipSizeLimit
spécifie la taille limite de décompression en octets à l'ouverture de la feuille de calcul, cette valeur doit être supérieure ou égale à UnzipXMLSizeLimit
, la taille limite par défaut est de 16Go.
UnzipXMLSizeLimit
spécifie la limite de mémoire pour décompresser la feuille de calcul et la table de chaînes partagée en octets, la feuille de calcul XML sera extraite dans le répertoire temporaire du système lorsque la taille du fichier dépasse cette valeur, cette valeur doit être inférieure ou égale à UnzipSizeLimit
, la valeur par défaut la valeur est de 16 Mo.
ShortDatePattern
specifies the short date number format code. In the spreadsheet applications, date formats display date and time serial numbers as date values. Date formats that begin with an asterisk (*) respond to changes in regional date and time settings that are specified for the operating system. Formats without an asterisk are not affected by operating system settings. The ShortDatePattern
used for specifies apply date formats that begin with an asterisk.
LongDatePattern
specifies the long date number format code.
LongTimePattern
specifies the long time number format code.
CultureInfo
specifies the country code for applying built-in language number format code these effect by the system's local language settings.
Créer un document Excel
func NewFile(opts ...Options) *File
NewFile fournit une fonction pour créer un nouveau fichier par le modèle par défaut. Le classeur nouvellement créé contiendra par défaut une feuille de calcul appelée Sheet1
. Par exemple:
Ouvrir
func OpenFile(filename string, opts ...Options) (*File, error)
OpenFile prend le nom d'un fichier de feuille de calcul et renvoie une structure de fichier de feuille de calcul remplie pour celui-ci. Par exemple, ouvrez une feuille de calcul avec une protection par mot de passe:
f, err := excelize.OpenFile("Book1.xlsx", excelize.Options{Password: "password"})
if err != nil {
return
}
Fermez le fichier par Close()
après avoir ouvert la feuille de calcul.
Flux de données ouvert
func OpenReader(r io.Reader, opts ...Options) (*File, error)
OpenReader lit le flux de données depuis io.Reader
et renvoie un fichier de feuille de calcul rempli.
Par exemple, créez un serveur HTTP pour gérer le modèle de téléchargement, puis le fichier de téléchargement des réponses avec une nouvelle feuille de calcul ajoutée:
package main
import (
"fmt"
"net/http"
"github.com/xuri/excelize/v2"
)
func process(w http.ResponseWriter, req *http.Request) {
file, _, err := req.FormFile("file")
if err != nil {
fmt.Fprint(w, err.Error())
return
}
defer file.Close()
f, err := excelize.OpenReader(file)
if err != nil {
fmt.Fprint(w, err.Error())
return
}
f.Path = "Book1.xlsx"
f.NewSheet("NewSheet")
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("/process", process)
http.ListenAndServe(":8090", nil)
}
Testez avec cURL:
curl --location --request GET 'http://127.0.0.1:8090/process' \
--form 'file=@/tmp/template.xltx' -O -J
Enregistrer
func (f *File) Save(opts ...Options) error
Save fournit une fonction pour remplacer le fichier xlsx avec le chemin d'origine.
Enregistrer sous
func (f *File) SaveAs(name string, opts ...Options) error
SaveAs fournit une fonction pour créer ou mettre à jour un fichier xlsx sur le chemin fourni.
Fermer le classeur
func (f *File) Close() error
Close ferme et nettoie le fichier temporaire ouvert pour la feuille de calcul.
Créer une feuille de calcul
func (f *File) NewSheet(sheet string) (int, error)
NewSheet fournit la fonction pour créer une nouvelle feuille en donnant un nom de feuille de calcul et renvoie l'index des feuilles dans le classeur (feuille de calcul) après l'ajout. Notez que lors de la création d'un nouveau fichier de feuille de calcul, la feuille de calcul par défaut nommée Sheet1
sera créée.
Supprimer la feuille de calcul
func (f *File) DeleteSheet(sheet string) error
DeleteSheet fournit une fonction pour supprimer une feuille de calcul dans un classeur par nom de feuille de calcul donné, les noms de feuille ne sont pas sensibles à la casse. Utilisez cette méthode avec prudence, car cela affectera les modifications apportées aux références telles que les formules, les graphiques, etc. S'il existe une valeur référencée de la feuille de calcul supprimée, cela provoquera une erreur de fichier lorsque vous l'ouvrirez. Cette fonction sera invalide lorsqu'il ne reste qu'une seule feuille de calcul.
Copier la feuille de calcul
func (f *File) CopySheet(from, to int) error
CopySheet fournit une fonction pour dupliquer une feuille de calcul en donnant l'index de la feuille de calcul source et cible. Notez que les classeurs en double contenant des tableaux, des graphiques ou des images ne sont actuellement pas pris en charge. Par exemple:
// Sheet1 existe déjà...
index, err := f.NewSheet("Sheet2")
if err != nil {
fmt.Println(err)
return
}
err := f.CopySheet(1, index)
Feuilles de travail de groupe
func (f *File) GroupSheets(sheets []string) error
GroupSheets fournit une fonction pour regrouper les feuilles de calcul par noms de feuilles de calcul donnés. Les feuilles de travail de groupe doivent contenir une feuille de travail active.
Dissocier les feuilles de calcul
func (f *File) UngroupSheets() error
UngroupSheets fournit une fonction pour dissocier les feuilles de calcul.
Arrière-plan de la feuille de travail
func (f *File) SetSheetBackground(sheet, picture string) error
SetSheetBackground fournit une fonction pour définir l'image d'arrière-plan en fonction du nom de la feuille de calcul et du chemin d'accès au fichier. Types d'images pris en charge: BMP, EMF, EMZ, GIF, JPEG, JPG, PNG, SVG, TIF, TIFF, WMF et WMZ.
func (f *File) SetSheetBackgroundFromBytes(sheet, extension string, picture []byte) error
SetSheetBackgroundFromBytes fournit une fonction pour définir l'image d'arrière-plan en fonction du nom de la feuille de calcul, du nom de l'extension et des données d'image. Types d'images pris en charge: 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)
SetActiveSheet fournit une fonction pour définir la feuille active par défaut du classeur en fonction d'un index donné. Notez que l'index actif est différent de l'ID retourné par la fonction GetSheetMap
. Il doit être supérieur ou égal à 0
et inférieur au nombre total de feuilles de calcul.
Obtenir l'index de feuille actif
func (f *File) GetActiveSheetIndex() int
GetActiveSheetIndex fournit une fonction pour obtenir une feuille active de XLSX. S'il n'est pas trouvé, la feuille active retournera l'entier 0
.
Définir la feuille de calcul visible
func (f *File) SetSheetVisible(sheet string, visible bool, veryHidden ...bool) error
SetSheetVisible fournit une fonction permettant de définir une feuille de calcul visible par son nom. Un classeur doit contenir au moins une feuille de calcul visible. Si la feuille de calcul donnée a été activée, ce paramètre sera invalidé. Le troisième paramètre optionnel veryHidden
ne fonctionne que lorsque visible
était false
.
Par exemple, masquer Sheet1
:
err := f.SetSheetVisible("Sheet1", false)
Obtenir la feuille de calcul visible
func (f *File) GetSheetVisible(sheet string) (bool, error)
GetSheetVisible fournit une fonction permettant d'obtenir une feuille de calcul visible par son nom. Par exemple, obtenez l'état visible de Sheet1
:
visible, err := f.GetSheetVisible("Sheet1")
Définir les propriétés d'une feuille de calcul
func (f *File) SetSheetProps(sheet string, opts *SheetPropsOptions) error
SetSheetProps fournit une fonction permettant de définir les propriétés de la feuille de calcul. Les propriétés qui peuvent être définies sont les suivantes:
Options | Tapez | La description |
---|---|---|
CodeName | *string |
Spécifie un nom stable de la feuille, qui ne doit pas changer au fil du temps et ne change pas à partir de l'entrée utilisateur. Ce nom doit être utilisé par code pour référencer une feuille particulière |
EnableFormatConditionsCalculation | *bool |
Indiquer si les calculs de mise en forme conditionnelle doivent être évalués. Si la valeur est false, les valeurs min/max des échelles de couleurs, des barres de données ou des valeurs seuils dans les règles Top N ne doivent pas être mises à jour. Essentiellement, la mise en forme conditionnelle "calc" est désactivée |
Published | *bool |
Indiquant si la feuille de calcul est publiée, la valeur par défaut est true |
AutoPageBreaks | *bool |
Indiquant si la feuille affiche Sauts de page automatiques, la valeur par défaut est true |
FitToPage | *bool |
Indiquant si l'option d'impression Ajuster à la page est activée, la valeur par défaut est false |
TabColorIndexed | *int |
Représente la valeur de couleur indexée |
TabColorRGB | *string |
Représente la valeur de couleur ARGB (Alpha Red Green Blue) standard |
TabColorTheme | *int |
Représente l'index de base zéro dans la collection, en référençant une valeur particulière exprimée dans la partie Thème |
TabColorTint | *float64 |
Spécifie la valeur de teinte appliquée à la couleur, la valeur par défaut est 0.0 |
OutlineSummaryBelow | *bool |
Indiquant si les lignes récapitulatives apparaissent sous les détails dans un plan, lors de l'application d'un plan, la valeur par défaut est true |
OutlineSummaryRight | *bool |
Indiquant si les colonnes récapitulatives apparaissent à droite du détail dans un plan, lors de l'application d'un contour, la valeur par défaut est true |
BaseColWidth | *uint8 |
Spécifie le nombre de caractères de la largeur de chiffre maximale de la police du style normal. Cette valeur n'inclut pas le remplissage de marge ou le rembourrage supplémentaire pour les lignes de grille. Il s'agit uniquement du nombre de caractères, la valeur par défaut est 8 |
DefaultColWidth | *float64 |
Spécifie la largeur de colonne par défaut mesurée comme le nombre de caractères de la largeur de chiffre maximale de la police du style normal |
DefaultRowHeight | *float64 |
Spécifie la hauteur de ligne par défaut mesurée en taille de point. Optimisation pour que nous n'ayons pas à écrire la hauteur sur toutes les lignes. Cela peut être écrit si la plupart des lignes ont une hauteur personnalisée, pour atteindre l'optimisation |
CustomHeight | *bool |
Spécifie la hauteur personnalisée, la valeur par défaut est false |
ZeroHeight | *bool |
Spécifie si les lignes sont masquées, la valeur par défaut est false |
ThickTop | *bool |
Spécifie si les lignes ont une bordure supérieure épaisse par défaut, la valeur par défaut est false |
ThickBottom | *bool |
Spécifie si les lignes ont une bordure inférieure épaisse par défaut, la valeur par défaut est false |
Par exemple, rendre les lignes de feuille de calcul par défaut masquées:
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 de calcul
func (f *File) GetSheetProps(sheet string) (SheetPropsOptions, error)
GetSheetProps fournit une fonction pour obtenir des propriétés de feuille de calcul.
Définir les propriétés de la vue de feuille de calcul
func (f *File) SetSheetView(sheet string, viewIndex int, opts *ViewOptions) error
SetSheetView définit les propriétés de l'affichage de feuille. Le viewIndex
peut être négatif et, le cas échéant, est compté à rebours (-1
est la dernière vue). Les propriétés qui peuvent être définies sont les suivantes :
Options | Tapez | La description |
---|---|---|
DefaultGridColor | *bool |
Indiquant que l'application consommatrice doit utiliser la couleur des lignes de grille par défaut (dépendante du système). Remplace toute couleur spécifiée dans colorId, la valeur par défaut est true |
RightToLeft | *bool |
Indiquer si la feuille est en mode d'affichage "de droite à gauche". Dans ce mode, la colonne A se trouve à l'extrême droite, la colonne B; est une colonne à gauche de la colonne A, et ainsi de suite. En outre, les informations dans les cellules sont affichées au format de droite à gauche, la valeur par défaut est false |
ShowFormulas | *bool |
Indiquant si cette feuille doit afficher des formules, la valeur par défaut est false |
ShowGridLines | *bool |
Indiquant si cette feuille doit afficher des lignes de grille, la valeur par défaut est true |
ShowRowColHeaders | *bool |
Indiquant si la feuille doit afficher des en-têtes de ligne et de colonne, la valeur par défaut est true |
ShowRuler | *bool |
Indiquant que cette feuille doit afficher la règle, la valeur par défaut est true |
ShowZeros | *bool |
Indiquer s'il faut "afficher un zéro dans les cellules qui ont une valeur nulle". Lorsque vous utilisez une formule pour référencer une autre cellule vide, la valeur référencée devient 0 lorsque l'indicateur est true , la valeur par défaut est true |
TopLeftCell | *string |
Spécifie un emplacement de la cellule visible en haut à gauche Emplacement de la cellule visible en haut à gauche dans le volet inférieur droit (en mode de gauche à droite) |
View | *string |
Indiquant comment la feuille est affichée, par défaut, elle utilise une chaîne vide, les options disponibles: normal , pageBreakPreview et pageLayout |
ZoomScale | *float64 |
Spécifie un grossissement de zoom de fenêtre pour la vue actuelle représentant des valeurs en pourcentage. Cet attribut est limité aux valeurs allant de 10 à 400 . Échelle horizontale et verticale ensemble, la valeur par défaut est 100 |
Obtenir les propriétés d'affichage de la feuille de calcul
func (f *File) GetSheetView(sheet string, viewIndex int) (ViewOptions, error)
GetSheetView obtient la valeur des propriétés d'affichage de feuille. Le viewIndex
peut être négatif et, le cas échéant, est compté à rebours (-1
est la dernière vue).
Définir la mise en page de feuille de calcul
func (f *File) SetPageLayout(sheet string, opts *PageLayoutOptions) error
SetPageLayout fournit une fonction permettant de définir la mise en page de la feuille de calcul. Options disponibles:
Size
fournit une méthode pour définir le format de papier de la feuille de calcul. Le format de papier par défaut de la feuille de calcul est Letter US (8 1/2 × 11"). Le tableau ci-dessous présente le format de papier trié par numéro d'index Excelize:
Index | Taille de papier |
---|---|
1 | Letter paper (8.5 in. × 11 in.) |
2 | Letter small paper (8.5 in. × 11 in.) |
3 | Tabloid paper (11 in. × 17 in.) |
4 | Ledger paper (17 in. × 11 in.) |
5 | Legal paper (8.5 in. × 14 in.) |
6 | Statement paper (5.5 in. × 8.5 in.) |
7 | Executive paper (7.25 in. × 10.5 in.) |
8 | A3 paper (297 mm × 420 mm) |
9 | A4 paper (210 mm × 297 mm) |
10 | A4 small paper (210 mm × 297 mm) |
11 | A5 paper (148 mm × 210 mm) |
12 | B4 paper (250 mm × 353 mm) |
13 | B5 paper (176 mm × 250 mm) |
14 | Folio paper (8.5 in. × 13 in.) |
15 | Quarto paper (215 mm × 275 mm) |
16 | Standard paper (10 in. × 14 in.) |
17 | Standard paper (11 in. × 17 in.) |
18 | Note paper (8.5 in. × 11 in.) |
19 | #9 envelope (3.875 in. × 8.875 in.) |
20 | #10 envelope (4.125 in. × 9.5 in.) |
21 | #11 envelope (4.5 in. × 10.375 in.) |
22 | #12 envelope (4.75 in. × 11 in.) |
23 | #14 envelope (5 in. × 11.5 in.) |
24 | C paper (17 in. × 22 in.) |
25 | D paper (22 in. × 34 in.) |
26 | E paper (34 in. × 44 in.) |
27 | DL envelope (110 mm × 220 mm) |
28 | C5 envelope (162 mm × 229 mm) |
29 | C3 envelope (324 mm × 458 mm) |
30 | C4 envelope (229 mm × 324 mm) |
31 | C6 envelope (114 mm × 162 mm) |
32 | C65 envelope (114 mm × 229 mm) |
33 | B4 envelope (250 mm × 353 mm) |
34 | B5 envelope (176 mm × 250 mm) |
35 | B6 envelope (176 mm × 125 mm) |
36 | Italy envelope (110 mm × 230 mm) |
37 | Monarch envelope (3.875 in. × 7.5 in.). |
38 | 6¾ envelope (3.625 in. × 6.5 in.) |
39 | US standard fanfold (14.875 in. × 11 in.) |
40 | German standard fanfold (8.5 in. × 12 in.) |
41 | German legal fanfold (8.5 in. × 13 in.) |
42 | ISO B4 (250 mm × 353 mm) |
43 | Japanese postcard (100 mm × 148 mm) |
44 | Standard paper (9 in. × 11 in.) |
45 | Standard paper (10 in. × 11 in.) |
46 | Standard paper (15 in. × 11 in.) |
47 | Invite envelope (220 mm × 220 mm) |
50 | Letter extra paper (9.275 in. × 12 in.) |
51 | Legal extra paper (9.275 in. × 15 in.) |
52 | Tabloid extra paper (11.69 in. × 18 in.) |
53 | A4 extra paper (236 mm × 322 mm) |
54 | Letter transverse paper (8.275 in. × 11 in.) |
55 | A4 transverse paper (210 mm × 297 mm) |
56 | Letter extra transverse paper (9.275 in. × 12 in.) |
57 | SuperA/SuperA/A4 paper (227 mm × 356 mm) |
58 | SuperB/SuperB/A3 paper (305 mm × 487 mm) |
59 | Letter plus paper (8.5 in. × 12.69 in.) |
60 | A4 plus paper (210 mm × 330 mm) |
61 | A5 transverse paper (148 mm × 210 mm) |
62 | JIS B5 transverse paper (182 mm × 257 mm) |
63 | A3 extra paper (322 mm × 445 mm) |
64 | A5 extra paper (174 mm × 235 mm) |
65 | ISO B5 extra paper (201 mm × 276 mm) |
66 | A2 paper (420 mm × 594 mm) |
67 | A3 transverse paper (297 mm × 420 mm) |
68 | A3 extra transverse paper (322 mm × 445 mm) |
69 | Japanese Double Postcard (200 mm × 148 mm) |
70 | A6 (105 mm × 148 mm) |
71 | Japanese Envelope Kaku #2 |
72 | Japanese Envelope Kaku #3 |
73 | Japanese Envelope Chou #3 |
74 | Japanese Envelope Chou #4 |
75 | Letter Rotated (11 × 8½ in.) |
76 | A3 Rotated (420 mm × 297 mm) |
77 | A4 Rotated (297 mm × 210 mm) |
78 | A5 Rotated (210 mm × 148 mm) |
79 | B4 (JIS) Rotated (364 mm × 257 mm) |
80 | B5 (JIS) Rotated (257 mm × 182 mm) |
81 | Japanese Postcard Rotated (148 mm × 100 mm) |
82 | Double Japanese Postcard Rotated (148 mm × 200 mm) |
83 | A6 Rotated (148 mm × 105 mm) |
84 | Japanese Envelope Kaku #2 Rotated |
85 | Japanese Envelope Kaku #3 Rotated |
86 | Japanese Envelope Chou #3 Rotated |
87 | Japanese Envelope Chou #4 Rotated |
88 | B6 (JIS) (128 mm × 182 mm) |
89 | B6 (JIS) Rotated (182 mm × 128 mm) |
90 | (12 in × 11 in) |
91 | Japanese Envelope You #4 |
92 | Japanese Envelope You #4 Rotated |
93 | PRC 16K (146 mm × 215 mm) |
94 | PRC 32K (97 mm × 151 mm) |
95 | PRC 32K(Big) (97 mm × 151 mm) |
96 | PRC Envelope #1 (102 mm × 165 mm) |
97 | PRC Envelope #2 (102 mm × 176 mm) |
98 | PRC Envelope #3 (125 mm × 176 mm) |
99 | PRC Envelope #4 (110 mm × 208 mm) |
100 | PRC Envelope #5 (110 mm × 220 mm) |
101 | PRC Envelope #6 (120 mm × 230 mm) |
102 | PRC Envelope #7 (160 mm × 230 mm) |
103 | PRC Envelope #8 (120 mm × 309 mm) |
104 | PRC Envelope #9 (229 mm × 324 mm) |
105 | PRC Envelope #10 (324 mm × 458 mm) |
106 | PRC 16K Rotated |
107 | PRC 32K Rotated |
108 | PRC 32K(Big) Rotated |
109 | PRC Envelope #1 Rotated (165 mm × 102 mm) |
110 | PRC Envelope #2 Rotated (176 mm × 102 mm) |
111 | PRC Envelope #3 Rotated (176 mm × 125 mm) |
112 | PRC Envelope #4 Rotated (208 mm × 110 mm) |
113 | PRC Envelope #5 Rotated (220 mm × 110 mm) |
114 | PRC Envelope #6 Rotated (230 mm × 120 mm) |
115 | PRC Envelope #7 Rotated (230 mm × 160 mm) |
116 | PRC Envelope #8 Rotated (309 mm × 120 mm) |
117 | PRC Envelope #9 Rotated (324 mm × 229 mm) |
118 | PRC Envelope #10 Rotated (458 mm × 324 mm) |
Orientation
a spécifié l'orientation de la feuille de calcul, l'orientation par défaut est portrait
. Les valeurs possibles pour ce champ sont portrait
et landscape
.
FirstPageNumber
a spécifié le numéro de la première page imprimée. Si aucune valeur n'est spécifiée, "automatique" est supposé.
AdjustTo
a spécifié la mise à l'échelle de l'impression. Cet attribut est limité à des valeurs comprises entre 10 (10%) et 400 (400%). Ce paramètre est remplacé lorsque FitToWidth
et/ou FitToHeight
sont utilisés.
FitToHeight
a spécifié le nombre de pages verticales sur lesquelles tenir.
FitToWidth
spécifiait le nombre de pages horizontales sur lesquelles tenir.
BlackAndWhite
a spécifié l'impression en noir et blanc.
Par exemple, définissez la mise en page pour Sheet1
avec impression en noir et blanc, premier numéro de page imprimée à partir de 2
, petit papier A4 paysage (210 mm sur 297 mm), 2 pages verticales pour s'adapter et 2 pages horizontales pour s'adapter:
f := excelize.NewFile()
var (
size = 10
orientation = "landscape"
firstPageNumber uint = 2
adjustTo uint = 100
fitToHeight = 2
fitToWidth = 2
blackAndWhite = true
)
if err := f.SetPageLayout("Sheet1", &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 feuille de calcul
func (f *File) GetPageLayout(sheet string) (PageLayoutOptions, error)
GetPageLayout fournit une fonction pour obtenir la mise en page de la feuille de calcul.
Définissez les marges de page de feuille de calcul
func (f *File) SetPageMargins(sheet string, opts *PageLayoutMarginsOptions) error
SetPageMargins fournit une fonction permettant de définir les marges des pages de la feuille de calcul. Options disponibles:
Options | Tapez | La description |
---|---|---|
Bottom | *float64 |
Bas |
Footer | *float64 |
Bas de page |
Header | *float64 |
Entête |
Left | *float64 |
Gauche |
Right | *float64 |
Droite |
Top | *float64 |
Haut |
Horizontally | *bool |
Centrer sur la page: horizontalement |
Vertically | *bool |
Centrer sur la page: verticalement |
Obtenir les marges des pages de la feuille de calcul
func (f *File) GetPageMargins(sheet string) (PageLayoutMarginsOptions, error)
GetPageMargins fournit une fonction pour obtenir les marges des pages de la feuille de calcul.
Définir les propriétés du classeur
func (f *File) SetWorkbookProps(opts *WorkbookPropsOptions) error
SetWorkbookProps fournit une fonction pour définir les propriétés du classeur. Options disponibles:
Options | Tapez | La description |
---|---|---|
Date1904 | *bool |
Indique s'il faut utiliser un système de date 1900 ou 1904 lors de la conversion des dates-heures en série dans le classeur en dates. |
FilterPrivacy | *bool |
Spécifie une valeur booléenne qui indique si l'application a inspecté le classeur à la recherche d'informations d'identification personnelle (PII). Si cet indicateur est défini, l'application avertit l'utilisateur chaque fois qu'il effectue une action qui insère des PII dans le document. |
CodeName | *string |
Spécifie le nom de code de l'application qui a créé ce classeur. Utilisez cet attribut pour suivre le contenu des fichiers dans les versions incrémentielles de l'application. |
Obtenir les propriétés du classeur
func (f *File) GetWorkbookProps() (WorkbookPropsOptions, error)
GetWorkbookProps fournit une fonction 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
SetHeaderFooter fournit une fonction permettant de définir les en-têtes et les pieds de page en fonction du nom de la feuille de calcul et des caractères de contrôle.
Les en-têtes et les pieds de page sont spécifiés à l'aide des champs de paramètres suivants:
Champs|La description
---|---
AlignWithMargins | Aligner les marges de l'en-tête et du pied de page avec les marges de la page
DifferentFirst | Indicateur d'en-tête et de pied de page de première page différent
DifferentOddEven | Différents en-têtes et pieds de page pairs et impairs
ScaleWithDoc | Mettre à l'échelle l'en-tête et le pied de page avec la mise à l'échelle du document
OddFooter | Pied de page impair ou pied de page principal si DifferentOddEven
est false
OddHeader | En-tête impair ou en-tête de page principal si DifferentOddEven
est false
EvenFooter | Pied de page pair
EvenHeader | En-tête de page pair
FirstFooter | Pied de page de la première page
FirstHeader | En-tête de la première page
Les codes de formatage suivants peuvent être utilisés dans 6 champs de type chaîne: OddHeader
, OddFooter
, EvenHeader
, EvenFooter
, FirstFooter
, FirstHeader
Code de formatage | La description |
---|---|
&& |
Le caractère "&" |
&font-size |
Taille de la police du texte, où font-size est une taille de police décimale en points |
&"font name,font type" |
Une chaîne de texte de nom de police, nom de police et une chaîne de texte de type de police, type de police |
&"-,Regular" |
Format de texte normal. Désactive les modes gras et italique |
&A |
Nom de l'onglet de la feuille de calcul en cours |
&B or &"-,Bold" |
Format de texte en gras, de désactivé à activé, ou vice versa. Le mode par défaut est désactivé |
&D |
Date actuelle |
&C |
Partie centrale |
&E |
Format de texte à double soulignement |
&F |
Nom de fichier du classeur actuel |
&G |
Objet de dessin en arrière-plan (Non pris en charge actuellement) |
&H |
Format de texte ombré |
&I or &"-,Italic" |
Format de texte en italique |
&K |
Couleur de la police du texte Une couleur RGB est spécifiée comme RRGGBB Une couleur de thème est spécifiée comme TTSNNN où TT est l'ID de couleur de thème, S est soit "+" ou "-" de la valeur de teinte/nuance, et NNN est la valeur de teinte/nuance |
&L |
Partie gauche |
&N |
Nombre total de pages |
&O |
Format de texte de contour |
&P[[+\|-]n] |
Sans le suffixe facultatif, le numéro de la page actuelle en décimal |
&R |
Partie droite |
&S |
Format de texte barré |
&T |
Heure actuelle |
&U |
Format de texte à simple soulignement. Si le mode double souligné est activé, l'occurrence suivante dans un spécificateur de section désactive le mode double souligné; sinon, il bascule le mode de soulignement simple, de désactivé à activé, ou vice versa. Le mode par défaut est désactivé |
&X |
Format de texte en exposant |
&Y |
Format de texte en indice |
&Z |
Chemin d'accès au fichier du classeur actuel |
Par exemple:
err := f.SetHeaderFooter("Sheet1", &excelize.HeaderFooterOptions{
DifferentFirst: true,
DifferentOddEven: true,
OddHeader: "&R&P",
OddFooter: "&C&F",
EvenHeader: "&L&P",
EvenFooter: "&L&D&R&T",
FirstHeader: `&CCenter &"-,Bold"Bold&"-,Regular"HeaderU+000A&D`,
})
Cet exemple montre:
- 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 des pieds de page différents
- Numéro de page actuel dans la partie droite des en-têtes de pages impaires
- Nom du fichier du classeur actuel dans la section centrale des pieds de page impairs
- Numéro de page actuel dans la partie gauche des en-têtes de pages paires
- La date actuelle dans la partie gauche et l'heure actuelle dans la partie droite du pied de page pair
- Le texte "Center Bold Header" sur la première ligne de la section centrale de la première page et la date sur la deuxième ligne de la section centrale de cette page
- Pas de pied de page sur la première page
Définir le nom défini
func (f *File) SetDefinedName(definedName *DefinedName) error
SetDefinedName fournit une fonction permettant de définir les noms définis du classeur ou de la feuille de calcul. S'il n'est pas spécifié scopr, l'étendue par défaut est classeur. Par exemple:
err := f.SetDefinedName(&excelize.DefinedName{
Name: "Amount",
RefersTo: "Sheet1!$A$2:$D$5",
Comment: "defined name comment",
Scope: "Sheet2",
})
Paramètres de la zone d'impression et des titres d'impression pour la feuille de calcul:
if err := f.SetDefinedName(&excelize.DefinedName{
Name: "_xlnm.Print_Area",
RefersTo: "Sheet1!$A$1:$Z$100",
Scope: "Sheet1",
}); err != nil {
fmt.Println(err)
}
if err := f.SetDefinedName(&excelize.DefinedName{
Name: "_xlnm.Print_Titles",
RefersTo: "Sheet1!$A:$A,Sheet1!$1:$1",
Scope: "Sheet1",
}); err != nil {
fmt.Println(err)
}
Obtenir le nom défini
func (f *File) GetDefinedName() []DefinedName
GetDefinedName fournit une fonction pour obtenir les noms définis du classeur ou de la feuille de calcul.
Supprimer le nom défini
func (f *File) DeleteDefinedName(definedName *DefinedName) error
DeleteDefinedName fournit une fonction pour supprimer les noms définis du classeur ou de la feuille de calcul. Si la portée n'est pas spécifiée, la portée par défaut est classeur. Par exemple:
err := f.DeleteDefinedName(&excelize.DefinedName{
Name: "Amount",
Scope: "Sheet2",
})
Définir les propriétés de l'application
func (f *File) SetAppProps(appProperties *AppProperties) error
SetAppProps fournit une fonction pour définir les propriétés de l'application de document. Les propriétés qui peuvent être définies sont :
Propriété | La description |
---|---|
Application | Le nom de l'application qui a créé ce document. |
ScaleCrop | Indique le mode d'affichage de la vignette du document. Définissez cet élément sur true pour permettre la mise à l'échelle de la vignette du document à l'affichage. Définissez cet élément sur false pour permettre le recadrage de la vignette du document afin d'afficher uniquement les sections qui correspondent à l'affichage. |
DocSecurity | Niveau de sécurité d'un document sous forme de valeur numérique. La sécurité du document est définie comme suit: 1 - Le document est protégé par mot de passe. 2 - Il est recommandé d'ouvrir le document en lecture seule. 3 - Le document doit obligatoirement être ouvert en lecture seule. 4 - Le document est verrouillé pour annotation. |
Company | Le nom d'une société associée au document. |
LinksUpToDate | Indique si les liens hypertexte d'un document sont à jour. Définissez cet élément sur true pour indiquer que les liens hypertexte sont mis à jour. Définissez cet élément sur false pour indiquer que les liens hypertexte sont obsolètes. |
HyperlinksChanged | Spécifie qu'un ou plusieurs hyperliens dans cette partie ont été mis à jour exclusivement dans cette partie par un producteur. Le prochain producteur à ouvrir ce document doit mettre à jour les relations des hyperliens avec les nouveaux hyperliens spécifiés dans cette partie. |
AppVersion | Spécifie la version de l'application qui a produit ce document. Le contenu de cet élément doit être de la forme XX.YYYY où X et Y représentent des valeurs numériques, ou le document doit être considéré comme non conforme. |
Par exemple:
err := f.SetAppProps(&excelize.AppProperties{
Application: "Microsoft Excel",
ScaleCrop: true,
DocSecurity: 3,
Company: "Company Name",
LinksUpToDate: true,
HyperlinksChanged: true,
AppVersion: "16.0000",
})
Obtenir les propriétés de l'application
func (f *File) GetAppProps() (*AppProperties, error)
GetAppProps fournit une fonction pour obtenir les propriétés d'application de document.
Définir les propriétés du document
func (f *File) SetDocProps(docProperties *DocProperties) error
SetDocProps fournit une fonction permettant de définir les propriétés principales du document. Les propriétés pouvant être définies sont:
Propriété | La description |
---|---|
Category | Une catégorisation du contenu de ce paquet. |
ContentStatus | Le statut du contenu. Par exemple: les valeurs peuvent inclure "Draft", "Reviewed" et "Final" |
Created | Heure de création du contenu de la ressource. |
Creator | Une entité principalement responsable de la création du contenu de la ressource. |
Description | Une explication du contenu de la ressource. |
Identifier | Une référence non ambiguë à la ressource dans un contexte donné. |
Keywords | Un ensemble de mots-clés délimités pour prendre en charge la recherche et l'indexation. Il s'agit généralement d'une liste de termes qui ne sont pas disponibles ailleurs dans les propriétés. |
Language | La langue du contenu intellectuel de la ressource. |
LastModifiedBy | L'utilisateur qui a effectué la dernière modification. L'identification est spécifique à l'environnement. |
Modified | L'heure modifiée du contenu de la ressource. |
Revision | Le numéro de révision du contenu de la ressource. |
Subject | Le sujet du contenu de la ressource. |
Title | Le nom donné à la ressource. |
Version | Le numéro de version. Cette valeur est définie par l'utilisateur ou par l'application. |
Par exemple:
err := f.SetDocProps(&excelize.DocProperties{
Category: "category",
ContentStatus: "Draft",
Created: "2019-06-04T22:00:10Z",
Creator: "Go Excelize",
Description: "This file created by Go Excelize",
Identifier: "xlsx",
Keywords: "Spreadsheet",
LastModifiedBy: "Go Author",
Modified: "2019-06-04T22:00:10Z",
Revision: "0",
Subject: "Test Subject",
Title: "Test Title",
Language: "en-US",
Version: "1.0.0",
})
Obtenir les propriétés du document
func (f *File) GetDocProps() (*DocProperties, error)
GetDocProps fournit une fonction pour obtenir les propriétés de base du document.
Protéger le classeur
func (f *File) ProtectWorkbook(opts *WorkbookProtectionOptions) error
ProtectWorkbook fournit une fonction pour empêcher d'autres utilisateurs de modifier, déplacer ou supprimer accidentellement ou délibérément des données dans un classeur. Le champ facultatif AlgorithmName
a spécifié l'algorithme de hachage, prend en charge XOR, MD4, MD5, SHA-1, SHA2-56, SHA-384 et SHA-512 actuellement, si aucun algorithme de hachage n'est spécifié, utilisera l'algorithme XOR par défaut. Par exemple, protégez le classeur avec les paramètres de protection:
err := f.ProtectWorkbook(&excelize.WorkbookProtectionOptions{
Password: "password",
LockStructure: true,
})
WorkbookProtectionOptions mappe directement les paramètres de protection du classeur.
type WorkbookProtectionOptions struct {
AlgorithmName string
Password string
LockStructure bool
LockWindows bool
}
Déprotéger le classeur
func (f *File) UnprotectWorkbook(password ...string) error
UnprotectWorkbook fournit une fonction pour supprimer la protection du classeur, a spécifié le paramètre de mot de passe facultatif pour supprimer la protection du classeur avec vérification du mot de passe.