Workbook
Options
definisce le opzioni per la lettura e la scrittura di fogli di calcolo.
type Options struct {
MaxCalcIterations uint
Password string
RawCellValue bool
UnzipSizeLimit int64
UnzipXMLSizeLimit int64
ShortDatePattern string
LongDatePattern string
LongTimePattern string
CultureInfo CultureName
}
MaxCalcIterations
viene utilizzato per specificare il numero massimo di iterazioni durante il calcolo delle formule, con un valore predefinito di 0.
Password
viene utilizzato per specificare la password per aprire e salvare il workbook in testo normale, con un valore predefinito vuoto.
RawCellValue
viene utilizzato per specificare se recuperare il valore grezzo durante la lettura dei valori delle celle, con un valore predefinito di false
(applicando il formato del numero).
UnzipSizeLimit
viene utilizzato per specificare il limite di dimensione (in byte) per la decompressione durante l'apertura di un documento di foglio di calcolo, che dovrebbe essere maggiore o uguale a UnzipXMLSizeLimit
, con un limite predefinito di 16 GB.
UnzipXMLSizeLimit
viene utilizzato per specificare il limite di memoria (in byte) durante la decompressione di ogni foglio di lavoro e tabella di stringhe condivisa, e quando la dimensione supera questo valore, il file XML del foglio di lavoro verrà decompresso nella directory temporanea del sistema. Questo valore dovrebbe essere minore o uguale a UnzipSizeLimit
, con un limite predefinito di 16 MB.
ShortDatePattern
viene utilizzato per specificare il codice di formato numerico della data breve.
LongDatePattern
viene utilizzato per specificare il codice di formato numerico della data lunga.
LongTimePattern
viene utilizzato per specificare il codice di formato numerico dell'ora lunga.
CultureInfo
viene utilizzato per specificare il formato regionale, che verrà utilizzato durante la lettura dei formati numerici influenzati dalle impostazioni specifiche della data e dell'ora della regione.
Create
func NewFile(opts ...Options) *File
Usa NewFile
per creare un nuovo workbook di Excel, che conterrà per impostazione predefinita un foglio di lavoro denominato Sheet1
.
Open
func OpenFile(filename string, opts ...Options) (*File, error)
Usa OpenFile
per aprire un documento di Excel esistente. Ad esempio, apri un documento di foglio di calcolo con protezione password:
f, err := excelize.OpenFile("Book1.xlsx", excelize.Options{Password: "password"})
if err != nil {
return
}
Utilizza Close()
per chiudere il workbook aperto.
Open Data Stream
func OpenReader(r io.Reader, opts ...Options) (*File, error)
OpenReader legge i dati da io.Reader
.
Nell'esempio seguente, creiamo un semplice server HTTP per ricevere documenti di fogli di calcolo caricati, aggiungere un nuovo foglio di lavoro al documento ricevuto e restituire una risposta di download:
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)
}
Test usando cURL:
curl --location --request GET 'http://127.0.0.1:8090/process' \
--form 'file=@/tmp/template.xltx' -O -J
Save
func (f *File) Save(opts ...Options) error
Usa Save
per salvare le modifiche a un documento di Excel.
Save As
func (f *File) SaveAs(name string, opts ...Options) error
Usa SaveAs
per salvare il documento di Excel come un file specificato.
Chiudi Workbook
func (f *File) Close() error
Chiudi il workbook e libera la cache del disco di sistema creata durante l'apertura del documento.
Nuovo Foglio di Lavoro
func (f *File) NewSheet(sheet string) (int, error)
Crea un nuovo foglio di lavoro in base al nome del foglio di lavoro fornito e restituisce l'indice del foglio di lavoro nel workbook. Si noti che quando si crea un nuovo workbook, conterrà un foglio di lavoro predefinito chiamato Sheet1
.
Elimina Foglio di Lavoro
func (f *File) DeleteSheet(sheet string) error
Elimina il foglio di lavoro specificato in base al nome del foglio di lavoro fornito. Utilizzare questo metodo con cautela, poiché influenzerà formule, riferimenti, grafici e altri elementi associati al foglio di lavoro eliminato. Se altri componenti fanno riferimento a valori nel foglio di lavoro eliminato, verrà segnalato un errore e potrebbe persino causare l'impossibilità di aprire il workbook. Chiamare questo metodo non è valido quando il workbook contiene un solo foglio di lavoro.
Copia Foglio di Lavoro
func (f *File) CopySheet(from, to int) error
Copia il foglio di lavoro in base al foglio di lavoro di origine fornito e all'indice del foglio di lavoro di destinazione. Lo sviluppatore deve confermare se l'indice del foglio di lavoro di destinazione esiste già. Attualmente è supportata solo la copia di fogli di lavoro contenenti valori delle celle e formule, mentre non è supportata la copia di fogli di lavoro contenenti tabelle, immagini, grafici e tabelle pivot.
// Il foglio di lavoro chiamato Sheet1 esiste già...
index, err := f.NewSheet("Sheet2")
if err != nil {
fmt.Println(err)
return
}
err := f.CopySheet(1, index)
Raggruppa Fogli di Lavoro
func (f *File) GroupSheets(sheets []string) error
Raggruppa i fogli di lavoro in base ai nomi dei fogli di lavoro forniti e il foglio di lavoro predefinito deve essere incluso nei fogli di lavoro forniti.
Separa il Raggruppamento dei Fogli di Lavoro
func (f *File) UngroupSheets() error
Separa il raggruppamento dei fogli di lavoro.
Imposta Immagine di Sfondo del Foglio di Lavoro
func (f *File) SetSheetBackground(sheet, picture string) error
Imposta un'immagine di sfondo a mosaico per il foglio di lavoro specificato in base al nome del foglio di lavoro e al percorso del file dell'immagine. I formati di file immagine supportati includono: BMP, EMF, EMZ, GIF, JPEG, JPG, PNG, SVG, TIF, TIFF, WMF e WMZ.
func (f *File) SetSheetBackgroundFromBytes(sheet, extension string, picture []byte) error
Imposta un'immagine di sfondo a mosaico per il foglio di lavoro specificato in base al nome del foglio di lavoro, all'estensione del formato dell'immagine e ai dati del formato dell'immagine. I formati di file immagine supportati includono: BMP, EMF, EMZ, GIF, JPEG, JPG, PNG, SVG, TIF, TIFF, WMF e WMZ.
Imposta Foglio di Lavoro Predefinito
func (f *File) SetActiveSheet(index int)
Imposta il foglio di lavoro predefinito in base al valore dell'indice fornito, dove il valore deve essere maggiore o uguale a 0
e minore del totale cumulativo del numero di fogli di lavoro nel workbook.
Ottieni l'Indice del Foglio di Lavoro Predefinito
func (f *File) GetActiveSheetIndex() int
Ottieni l'indice del foglio di lavoro predefinito, restituendo 0
se non viene trovato alcun foglio di lavoro predefinito.
Imposta la Visibilità del Foglio di Lavoro
func (f *File) SetSheetVisible(sheet string, visible bool, veryHidden ...bool) error
Imposta la visibilità del foglio di lavoro in base al nome del foglio di lavoro fornito e al parametro di visibilità. Un workbook deve contenere almeno un foglio di lavoro visibile. Se il foglio di lavoro fornito è il foglio di lavoro predefinito, l'impostazione di visibilità non è valida. Il terzo parametro opzionale veryHidden
è valido solo quando il valore del parametro visible
è false
.
Ad esempio, per nascondere il foglio di lavoro chiamato Sheet1
:
err := f.SetSheetVisible("Sheet1", false)
Ottieni la Visibilità del Foglio di Lavoro
func (f *File) GetSheetVisible(sheet string) (bool, error)
Ottieni l'impostazione di visibilità del foglio di lavoro in base al nome del foglio di lavoro fornito. Ad esempio, per recuperare l'impostazione di visibilità del foglio di lavoro chiamato Sheet1
:
visible, err := f.GetSheetVisible("Sheet1")
Impostare le proprietà del foglio
func (f *File) SetSheetProps(sheet string, opts *SheetPropsOptions) error
Imposta le proprietà di un foglio specificato in base al nome del foglio e alle opzioni di proprietà fornite. Le opzioni di proprietà del foglio supportate sono le seguenti:
Proprietà | Tipo | Descrizione |
---|---|---|
CodeName | *string |
Nome codice |
EnableFormatConditionsCalculation | *bool |
Specifica se la formattazione condizionale viene calcolata automaticamente, con un valore predefinito di true |
Pubblicato | *bool |
Specifica se il foglio di lavoro è pubblicato, con un valore predefinito di true |
AutoInterruzioniPagina | *bool |
Specifica se il foglio interrompe le pagine automaticamente, con un valore predefinito di true |
AdattaPagina | *bool |
Specifica se abilitare la stampa adatta alla pagina, con un valore predefinito di false |
TabColorIndexed | *int |
Utilizzato per il valore di colore indicizzato retrocompatibile |
TabColorRGB | *string |
Valore di colore ARGB standard |
TabColorTheme | *int |
Indice del colore del tema a partire da 0 |
TabColorTint | *float64 |
Valore di sfumatura applicato al colore, con un valore predefinito di 0.0 |
OutlineSummaryBelow | *bool |
Specifica la direzione dell'analisi, sia sotto i dati di dettaglio, con un valore predefinito di true |
OutlineSummaryRight | *bool |
Specifica la direzione dell'analisi, sia a destra dei dati di dettaglio, con un valore predefinito di true |
LarghezzaColonnaBase | *uint8 |
Larghezza di base della colonna rappresentata dal numero di caratteri, con un valore predefinito di 8 |
LarghezzaColonnaPredefinita | *float64 |
Larghezza predefinita della colonna inclusi margini e linee della griglia |
AltezzaRigaPredefinita | *float64 |
Altezza riga rappresentata in punti |
AltezzaPersonalizzata | *bool |
Specifica se è applicata un'altezza personalizzata della riga, con un valore predefinito di false |
AltezzaZero | *bool |
Specifica se le righe sono nascoste per impostazione predefinita, con un valore predefinito di false |
SpessoreSuperiore | *bool |
Specifica se le righe hanno un bordo superiore spesso per impostazione predefinita, con un valore predefinito di false |
SpessoreInferiore | *bool |
Specifica se le righe hanno un bordo inferiore spesso per impostazione predefinita, con un valore predefinito di false |
Ad esempio, per impostare la riga predefinita nel foglio di lavoro denominato Foglio1
come nascosta:
f, enable := excelize.NewFile(), true
if err := f.SetSheetProps("Foglio1", &excelize.SheetPropsOptions{
ZeroHeight: &enable,
}); err != nil {
fmt.Println(err)
}
if err := f.SetRowVisible("Foglio1", 10, true); err != nil {
fmt.Println(err)
}
f.SaveAs("Libro1.xlsx")
Ottenere le proprietà del foglio
func (f *File) GetSheetProps(sheet string) (SheetPropsOptions, error)
Ottieni le proprietà di un foglio specificato in base al nome del foglio.
Impostazione delle proprietà della vista del foglio
func (f *File) SetSheetView(sheet string, viewIndex int, opts *ViewOptions) error
Imposta le proprietà della vista del foglio in base al nome del foglio, all'indice della vista e alle opzioni della vista date. viewIndex
può essere un numero negativo, in tal caso il conteggio sarà fatto all'indietro (-1
rappresenta l'ultima vista). Le opzioni supportate per l'impostazione delle proprietà della vista del foglio sono le seguenti:
Proprietà | Tipo | Descrizione |
---|---|---|
DefaultGridColor | *bool |
Specifica se utilizzare il colore predefinito delle linee di griglia, il valore predefinito è true |
RightToLeft | *bool |
Specifica se visualizzare da destra a sinistra, il valore predefinito è false |
ShowFormulas | *bool |
Specifica se il foglio di lavoro visualizza le formule, il valore predefinito è false |
ShowGridLines | *bool |
Specifica se il foglio di lavoro visualizza le linee della griglia, il valore predefinito è true |
ShowRowColHeaders | *bool |
Specifica se il foglio di lavoro visualizza gli intestazioni di riga e colonna, il valore predefinito è true |
ShowRuler | *bool |
Specifica se visualizzare il righello in visualizzazione layout pagina, il valore predefinito è true |
ShowZeros | *bool |
Specifica se visualizzare i valori zero nelle celle, il valore predefinito è true , altrimenti verranno visualizzati come vuoti |
TopLeftCell | *string |
Specifica le coordinate della cella in alto a sinistra visibile |
View | *string |
Indica il tipo di visualizzazione del foglio di lavoro, con valori enum normale , anteprimaInterruzPagina e layoutPagina |
ZoomScale | *float64 |
Percentuale di scala di zoom della finestra di visualizzazione corrente, limitata a un intervallo da 10 a 400, valore predefinito è 100 |
Ottenere le proprietà della vista del foglio
func (f *File) GetSheetView(sheet string, viewIndex int) (ViewOptions, error)
Recupera le proprietà della vista del foglio in base al nome del foglio e all'indice della vista. viewIndex
può essere un numero negativo, in tal caso il conteggio sarà fatto all'indietro (-1
rappresenta l'ultima vista).
Impostare il Layout della Pagina del Foglio di Lavoro
func (f *File) SetPageLayout(sheet string, opts *PageLayoutOptions) error
Imposta gli attributi del layout della pagina del foglio di lavoro in base al nome del foglio di lavoro fornito e ai parametri del layout della pagina. Gli attributi del layout della pagina attualmente supportati includono:
L'attributo Size
è utilizzato per specificare la dimensione del foglio di carta, con la dimensione predefinita del layout della pagina che è "Letter 8½ × 11 pollici". La tabella seguente mostra la relazione tra le dimensioni del layout della pagina e il parametro di indice Size
in Excelize:
Indice | Dimensione della Carta |
---|---|
1 | Lettera 8½ × 11 pollici |
2 | Lettera Piccola 8½ × 11 pollici |
3 | Tabloid 11 × 17 pollici |
4 | Ledger 17 × 11 pollici |
... | ... |
40 | Ventaglio Tedesco Standard 8.5 × 12 pollici |
| 41 | Ventaglio di carta legale tedesca 8.5 × 13 pollici |
| 42 | ISO B4 250 × 353 mm |
| 43 | Cartolina giapponese 100 × 148 mm |
| 44 | Carta standard 9 × 11 pollici |
| 45 | Carta standard 10 × 11 pollici |
| 46 | Carta standard 15 × 11 pollici |
| 47 | Lettera di invito 220 × 220 mm |
| 50 | Testata lettera ingrandita 9.275 × 12 pollici |
| 51 | Carta legale extra grande 9.275 × 15 pollici |
| 52 | Carta tabloid extra 11.69 × 18 pollici |
| 53 | A4 extra grande 236 × 322 mm |
| 54 | Testata di carta orizzontale 8.275 × 11 pollici |
| 55 | A4 orizzontale 210 × 297 mm |
| 56 | Testata di carta extra larga orizzontale 9.275 × 12 pollici |
| 57 | SuperA/SuperA/A4 carta 227 × 356 mm |
| 58 | SuperB/SuperB/A3 carta 305 × 487 mm |
| 59 | Testata di carta ingrandita 8.5 × 12.69 pollici |
| 60 | A4 ingrandita 210 × 330 mm |
| 61 | A5 orizzontale 148 × 210 mm |
| 62 | JIS B5 orizzontale 182 × 257 mm |
| 63 | A3 extra grande 322 × 445 mm |
| 64 | A5 extra grande 174 × 235 mm |
| 65 | ISO B5 extra grande 201 × 276 mm |
| 66 | A2 420 × 594 mm |
| 67 | A3 orizzontale 297 × 420 mm |
| 68 | A3 extra large orizzontale 322 × 445 mm |
| 69 | Doppia cartolina giapponese 200 × 148 mm |
| 70 | A6 105 × 148 mm |
| 71 | Busta giapponese Kaku #2 |
| 72 | Busta giapponese Kaku #3 |
| 73 | Busta giapponese Chou #3 |
| 74 | Busta giapponese Chou #4 |
| 75 | Testata di carta orizzontale 11 × 8½ pollici |
| 76 | A3 orizzontale 420 × 297 mm |
| 77 | A4 orizzontale 297 × 210 mm |
| 78 | A5 orizzontale 210 × 148 mm |
| 79 | B4 (JIS) orizzontale 364 × 257 mm |
| 80 | B5 (JIS) orizzontale 257 × 182 mm |
| 81 | Cartolina giapponese orizzontale 148 × 100 mm |
| 82 | Doppia cartolina giapponese orizzontale 148 × 200 mm |
| 83 | A6 orizzontale 148 × 105 mm |
| 84 | Busta giapponese Kaku #2 orizzontale |
| 85 | Busta giapponese Kaku #3 orizzontale |
| 86 | Busta giapponese Chou #3 orizzontale |
| 87 | Busta giapponese Chou #4 Orizzontale |
| 88 | B6 (JIS) 128 × 182 mm |
| 89 | B6 (JIS) Orizzontale 182 × 128 mm |
| 90 | 12 × 11 pollici |
| 91 | Busta giapponese You #4 |
| 92 | Busta giapponese You #4 Orizzontale |
| 93 | Cinese 16K 146 × 215 mm |
| 94 | Cinese 32K 97 × 151 mm |
| 95 | Grande Cinese 32K 97 × 151 mm |
| 96 | Busta Cinese #1 102 × 165 mm |
| 97 | Busta Cinese #2 102 × 176 mm |
| 98 | Busta Cinese #3 125 × 176 mm |
| 99 | Busta Cinese #4 110 × 208 mm |
| 100 | Busta Cinese #5 110 × 220 mm |
| 101 | Busta Cinese #6 120 × 230 mm |
| 102 | Busta Cinese #7 160 × 230 mm |
| 103 | Busta Cinese #8 120 × 309 mm |
| 104 | Busta Cinese #9 229 × 324 mm |
| 105 | Busta Cinese #10 324 × 458 mm |
| 106 | Cinese 16K Orizzontale |
| 107 | Cinese 32K Orizzontale |
| 108 | Grande Cinese 32K Orizzontale |
| 109 | Busta Cinese #1 Orizzontale 165 × 102 mm |
| 110 | Busta Cinese #2 Orizzontale 176 × 102 mm |
| 111 | Busta Cinese #3 Orizzontale 176 × 125 mm |
| 112 | Busta Cinese #4 Orizzontale 208 × 110 mm |
| 113 | Busta Cinese #5 Orizzontale 220 × 110 mm |
| 114 | Busta Cinese #6 Orizzontale 230 × 120 mm |
| 115 | Busta Cinese #7 Orizzontale 230 × 160 mm |
| 116 | Busta Cinese #8 Orizzontale 309 × 120 mm |
| 117 | Busta Cinese #9 Orizzontale 324 × 229 mm |
| 118 | Busta Cinese #10 Orizzontale 458 × 324 mm |
La proprietà `Orientation` viene utilizzata per specificare la direzione del layout della pagina, con la direzione predefinita del layout della pagina che è "verticale", e i valori opzionali sono `verticale` e `orizzontale`.
La proprietà `FirstPageNumber` viene utilizzata per specificare il numero di pagina di inizio, con il valore predefinito che è automatico.
La proprietà `AdjustTo` viene utilizzata per specificare il rapporto di ridimensionamento della pagina, con un intervallo da 10 a 400, cioè, ridimensionamento dal 10% al 400%, e il valore predefinito è `100` per la dimensione normale. Impostare `FitToHeight` o `FitToWidth` sovrascriverà questa proprietà.
La proprietà `FitToHeight` viene utilizzata per specificare il ridimensionamento della pagina per regolare la larghezza della pagina, con un valore predefinito di `1`.
La proprietà `FitToWidth` viene utilizzata per specificare il ridimensionamento della pagina per regolare l'altezza della pagina, con un valore predefinito di `1`.
La proprietà `BlackAndWhite` viene utilizzata per specificare la stampa in bianco e nero, con il predefinito che è spento.
f := excelize.NewFile()
var (
size = 10
orientation = "landscape"
firstPageNumber uint = 2
adjustTo uint = 100
fitToHeight = 2
fitToWidth = 2
blackAndWhite = true
)
if err := f.SetPageLayout("Foglio1", &excelize.PageLayoutOptions{
Size: &size,
Orientation: &orientation,
FirstPageNumber: &firstPageNumber,
AdjustTo: &adjustTo,
FitToHeight: &fitToHeight,
FitToWidth: &fitToWidth,
BlackAndWhite: &blackAndWhite,
}); err != nil {
fmt.Println(err)
}
Ottenere il layout della pagina del foglio di lavoro
func (f *File) GetPageLayout(sheet string) (PageLayoutOptions, error)
Ottieni le proprietà del layout della pagina del foglio di lavoro in base al nome del foglio di lavoro fornito e ai parametri del layout della pagina.
Impostare i margini della pagina del foglio di lavoro
func (f *File) SetPageMargins(sheet string, opts *PageLayoutMarginsOptions) error
Imposta i margini della pagina del foglio di lavoro in base al nome del foglio di lavoro fornito e ai parametri dei margini. Le opzioni di margine supportate sono:
Opzione | Tipo | Descrizione |
---|---|---|
Inferiore | *float64 |
Margine inferiore |
Piè di pagina | *float64 |
Margine piè di pagina |
Intestazione | *float64 |
Margine intestazione |
Sinistra | *float64 |
Margine sinistra |
Destra | *float64 |
Margine destra |
Superiore | *float64 |
Margine superiore |
Orizzontale | *bool |
Centratura orizzontale della pagina |
Verticale | *bool |
Centratura verticale della pagina |
Ottenere i margini della pagina del foglio di lavoro
func (f *File) GetPageMargins(sheet string) (PageLayoutMarginsOptions, error)
Ottieni i margini della pagina del foglio di lavoro in base al nome del foglio di lavoro fornito e ai parametri dei margini.
Impostare le proprietà del workbook
func (f *File) SetWorkbookProps(opts *WorkbookPropsOptions) error
SetWorkbookProps viene utilizzato per impostare le proprietà del workbook. Le proprietà del workbook supportate sono:
Proprietà | Tipo | Descrizione |
---|---|---|
Data1904 | *bool |
Indica se il workbook utilizza il sistema di data 1904 |
FilterPrivacy | *bool |
Privacy del filtro, indica se l'applicazione controlla le informazioni personali nel workbook |
NomeCodice | *string |
Nome codice |
Ottenere le proprietà del workbook
func (f *File) GetWorkbookProps() (WorkbookPropsOptions, error)
GetWorkbookProps viene utilizzato per ottenere le proprietà del workbook.
Impostare l'intestazione e il piè di pagina
func (f *File) SetHeaderFooter(sheet string, opts *HeaderFooterOptions) error
Imposta l'intestazione e il piè di pagina del foglio di lavoro in base al nome del foglio di lavoro fornito e ai caratteri di controllo.
L'intestazione e il piè di pagina includono i seguenti campi:
Campo | Descrizione |
---|---|
AlignWithMargins | Imposta l'allineamento dell'intestazione e del piè di pagina con i margini della pagina |
DifferentFirst | Imposta l'intestazione e il piè di pagina per la prima pagina |
DifferentOddEven | Imposta l'intestazione e il piè di pagina per le pagine dispari e pari |
ScaleWithDoc | Imposta l'intestazione e il piè di pagina in scala con il documento |
OddFooter | Carattere di controllo per il piè di pagina delle pagine dispari, utilizzato per impostare il piè di pagina per la prima pagina quando il valore di DifferentOddEven è false |
OddHeader | Carattere di controllo per l'intestazione delle pagine dispari, utilizzato per impostare l'intestazione per la prima pagina quando il valore di DifferentOddEven è false |
EvenFooter | Carattere di controllo per il piè di pagina delle pagine pari |
EvenHeader | Carattere di controllo per l'intestazione delle pagine pari |
FirstFooter | Carattere di controllo per il piè di pagina della prima pagina |
FirstHeader | Carattere di controllo per l'intestazione della prima pagina |
I codici di formato nella tabella sottostante possono essere utilizzati per i 6 campi di tipo stringa: OddHeader
, OddFooter
, EvenHeader
, EvenFooter
, FirstFooter
, FirstHeader
Codice di formato | Descrizione |
---|---|
&& |
Carattere "&" |
&font-size |
Dimensione del carattere del testo, dove la dimensione del carattere è una dimensione del carattere decimale in punti |
&"nome del carattere, tipo di carattere" |
Stringa del nome del carattere del testo, nome del carattere e stringa del tipo di carattere del testo, tipo di carattere |
&"-,Regolare" |
Formato di testo normale. Disattiva i modi grassetto e corsivo |
&A |
Nome del foglio di lavoro corrente |
&B o &"-,Grassetto" |
Formato di testo in grassetto, disattivato o attivato, di default disattivato |
&D |
Data corrente |
&C |
Sezione centrale |
&E |
Doppio sottolineatura per il testo |
&F |
Nome del file del foglio di lavoro corrente |
&G |
Specifica l'oggetto come sfondo (attualmente non supportato) |
&H |
Ombra del testo |
&I o &"-,Corsivo" |
Testo in corsivo |
&K |
Formato del colore del carattere del testo nel formato colore RGB in RRGGBB. I colori del tema sono specificati come TTSNNN, dove TT è l'id del colore del tema, S è la tonalità o sfumatura del "+", "-", è il valore della tonalità o sfumatura |
&L |
Sezione sinistra |
&N |
Numero totale di pagine |
&O |
Formato di testo dell'outline |
&P[[+\|-]n] |
Se non c'è nessun suffisso opzionale, numero di pagina corrente (decimale) |
&R |
Sezione destra |
&S |
Corsivo del testo |
&T |
Ora corrente |
&U |
Aggiunge un singolo sottolineatura al testo. La modalità predefinita è disattivata |
&X |
Formato di pedice |
&Y |
Formato di apice |
&Z |
Percorso del file del foglio di lavoro corrente |
Ad esempio:
err := f.SetHeaderFooter("Foglio1", &excelize.HeaderFooterOptions{
DifferentFirst: true,
DifferentOddEven: true,
OddHeader: "&R&P",
OddFooter: "&C&F",
EvenHeader: "&L&P",
EvenFooter: "&L&D&R&T",
FirstHeader: `&CCentro &"-,Grassetto"Grassetto&"-,Regolare"IntestazioneU+000A&D`,
})
L'esempio sopra contiene il seguente formato:
- La prima pagina ha la propria intestazione e piè di pagina
- Le pagine dispari e pari hanno intestazioni e piè di pagina diverse
- La parte destra dell'intestazione della pagina dispari è il numero di pagina corrente
- La parte centrale del piè di pagina della pagina dispari è il nome del file del foglio di lavoro corrente
- La parte sinistra è il numero di pagina corrente nell'intestazione della pagina pari
- La parte sinistra è la data corrente e la parte destra del piè di pagina della pagina pari è l'ora corrente
- Il testo sulla prima riga nella parte centrale della prima pagina è "Intestazione Grassetto Centrale", e la seconda riga è la data
- Non c'è piè di pagina sulla prima pagina
Imposta Nome
func (f *File) SetDefinedName(definedName *DefinedName) error
Imposta il nome e l'intervallo di riferimento in base al nome fornito, con lo scope predefinito che è il workbook. Per esempio:
err := f.SetDefinedName(&excelize.DefinedName{
Name: "Importo",
RefersTo: "Foglio1!$A$2:$D$5",
Comment: "commento del nome definito",
Scope: "Foglio2",
})
Imposta l'area di stampa e i titoli di stampa del foglio di lavoro:
if err := f.SetDefinedName(&excelize.DefinedName{
Name: "_xlnm.Print_Area",
RefersTo: "Foglio1!$A$1:$Z$100",
Scope: "Foglio1",
}); err != nil {
fmt.Println(err)
}
if err := f.SetDefinedName(&excelize.DefinedName{
Name: "_xlnm.Print_Titles",
RefersTo: "Foglio1!$A:$A,Foglio1!$1:$1",
Scope: "Foglio1",
}); err != nil {
fmt.Println(err)
}
Ottieni Nome
func (f *File) GetDefinedName() []DefinedName
Ottieni l'elenco dei nomi del workbook e del foglio di lavoro all'interno dello scope.
Elimina Nome
func (f *File) DeleteDefinedName(definedName *DefinedName) error
Elimina il nome definito in base al nome e allo scope del nome forniti, con lo scope predefinito che è il workbook. Per esempio:
err := f.DeleteDefinedName(&excelize.DefinedName{
Name: "Importo",
Scope: "Foglio2",
})
Imposta Proprietà dell'Applicazione Workbook
func (f *File) SetAppProps(appProperties *AppProperties) error
Imposta le proprietà dell'applicazione del workbook. Le proprietà che possono essere impostate includono:
Proprietà | Descrizione |
---|---|
Applicazione | Il nome dell'applicazione che ha creato questo documento |
ScaleCrop | Specifica la visualizzazione dell'anteprima del documento. Impostare su true per ridimensionare l'anteprima del documento e false per ritagliare l'anteprima del documento |
DocSecurity | Il livello di sicurezza del documento rappresentato come un valore numerico |
Azienda | Il nome dell'azienda associato al documento |
CollegamentiAggiornati | Imposta se i collegamenti ipertestuali nel documento sono aggiornati. Impostare su true per collegamenti ipertestuali aggiornati e false per collegamenti ipertestuali non aggiornati |
HyperlinksChanged | Specifica se i nuovi collegamenti ipertestuali specificati in questa sezione dovrebbero essere utilizzati per aggiornare le relazioni ipertestuali la prossima volta che questo documento viene aperto |
VersioneApplicazione | Specifica la versione dell'applicazione che ha generato questo documento. Il valore dovrebbe essere nel formato XX.YYYY, dove X e Y sono valori numerici, altrimenti il file non sarà conforme allo standard |
Per esempio:
err := f.SetAppProps(&excelize.AppProperties{
Application: "Microsoft Excel",
ScaleCrop: true,
DocSecurity: 3,
Company: "Nome Azienda",
LinksUpToDate: true,
HyperlinksChanged: true,
AppVersion: "16.0000",
})
Ottieni Proprietà dell'Applicazione Workbook
func (f *File) GetAppProps() (*AppProperties, error)
Ottieni le proprietà dell'applicazione del workbook.
Imposta le proprietà del documento
func (f *File) SetDocProps(docProperties *DocProperties) error
Imposta le proprietà principali del documento di lavoro. Le proprietà che possono essere impostate includono:
Proprietà | Descrizione |
---|---|
Categoria | La categoria del contenuto del documento |
StatoContenuto | Lo stato del contenuto del documento. Ad esempio, i valori possono includere "Bozza", "Esaminato" e "Finale" |
Creato | Il momento in cui il documento è stato creato, rappresentato nel formato UTC ISO 8601, ad esempio 2019-06-04T22:00:10Z |
Creatore | Il creatore del documento |
Descrizione | La descrizione del contenuto della risorsa |
Identificatore | Un chiaro riferimento alla risorsa in un dato contesto |
Parole chiave | Parole chiave del documento |
Lingua | La lingua primaria del contenuto del documento |
UltimaModificaDa | L'utente che ha modificato per ultimo il documento |
Modificato | Il momento in cui il documento è stato modificato, rappresentato nel formato UTC ISO 8601, ad esempio 2019-06-04T22:00:10Z |
Revisione | La versione di revisione del documento |
Soggetto | Il soggetto del documento |
Titolo | Il titolo del documento |
Versione | Il numero di versione, che viene impostato dall'utente o dall'applicazione |
Per esempio:
err := f.SetDocProps(&excelize.DocProperties{
Categoria: "categoria",
StatoContenuto: "Bozza",
Creato: "2019-06-04T22:00:10Z",
Creatore: "Go Excelize",
Descrizione: "Questo file creato da Go Excelize",
Identificatore: "xlsx",
Parolechiave: "Foglio di calcolo",
UltimaModificaDa: "Go Autore",
Modificato: "2019-06-04T22:00:10Z",
Revisione: "0",
Soggetto: "Oggetto di test",
Titolo: "Titolo di test",
Lingua: "it-IT",
Versione: "1.0.0",
})
Ottieni le proprietà del documento
func (f *File) GetDocProps() (*DocProperties, error)
Ottieni le proprietà principali del documento di lavoro.
Proteggi il documento di lavoro
func (f *File) ProtectWorkbook(opts *WorkbookProtectionOptions) error
Proteggi la struttura del documento di lavoro con una password per impedire agli altri utenti di visualizzare i fogli di lavoro nascosti, aggiungere, spostare o nascondere fogli di lavoro e rinominare fogli di lavoro. Il campo NomeAlgoritmo
supporta la specifica degli algoritmi hash XOR, MD4, MD5, SHA-1, SHA-256, SHA-384 o SHA-512. Se non viene specificato alcun algoritmo hash, viene utilizzato per impostazione predefinita l'algoritmo XOR. Per esempio, proteggi la struttura del documento di lavoro con una password:
err := f.ProtectWorkbook(&excelize.WorkbookProtectionOptions{
Password: "password",
BloccaStruttura: true,
})
WorkbookProtectionOptions definisce le opzioni per proteggere il documento di lavoro.
type WorkbookProtectionOptions struct {
NomeAlgoritmo string
Password string
BloccaStruttura bool
BloccaFinestre bool
}
Sblocca il documento di lavoro
func (f *File) UnprotectWorkbook(password ...string) error
Sblocca il documento di lavoro, specificando un parametro facoltativo password per verificare e rimuovere la protezione del documento di lavoro.