Foglio di lavoro
Impostare la visibilità della colonna
func (f *File) SetColVisible(foglio, colonna string, visibile bool) error
Imposta la visibilità della colonna specificata in base al nome del foglio di lavoro e al nome della colonna specificati. Questa funzione è sicura per la concorrenza. Ad esempio, per nascondere la colonna D
nel foglio di lavoro chiamato Foglio1
:
err := f.SetColVisible("Foglio1", "D", false)
Nascondere le colonne da D
a F
nel foglio di lavoro chiamato Foglio1
:
err := f.SetColVisible("Foglio1", "D:F", false)
Impostare la larghezza della colonna
func (f *File) SetColWidth(foglio, colonnaIniziale, colonnaFinale string, larghezza float64) error
Imposta la larghezza di una o più colonne in base al nome del foglio di lavoro, all'intervallo delle colonne e al valore della larghezza. Questa funzione è sicura per la concorrenza. Ad esempio, per impostare la larghezza delle colonne da A
a H
nel foglio di lavoro chiamato Foglio1
a 20
:
err := f.SetColWidth("Foglio1", "A", "H", 20)
Impostare l'altezza della riga
func (f *File) SetRowHeight(foglio string, riga int, altezza float64) error
Imposta l'altezza di una singola riga in base al nome del foglio di lavoro, al numero di riga e al valore dell'altezza. Ad esempio, per impostare l'altezza della prima riga nel foglio di lavoro chiamato Foglio1
a 50
:
err := f.SetRowHeight("Foglio1", 1, 50)
Impostare la visibilità della riga
func (f *File) SetRowVisible(foglio string, riga int, visibile bool) error
Imposta la visibilità della riga specificata in base al nome del foglio di lavoro e al numero di riga specificati. Ad esempio, per nascondere la seconda riga nel foglio di lavoro chiamato Foglio1
:
err := f.SetRowVisible("Foglio1", 2, false)
Ottenere il nome del foglio di lavoro
func (f *File) GetSheetName(indice int) string
Ottieni il nome del foglio di lavoro in base all'indice del foglio di lavoro specificato. Se il foglio di lavoro non esiste, verrà restituita una stringa vuota.
Ottenere la visibilità della colonna
func (f *File) GetColVisible(foglio, colonna string) (bool, error)
Ottieni la visibilità della colonna specificata nel foglio di lavoro in base al nome del foglio di lavoro e al nome della colonna specificati. Un valore restituito di true
indica visibilità, mentre false
indica invisibilità. Questa funzione è sicura per la concorrenza. Ad esempio, per ottenere la visibilità della colonna D
nel foglio di lavoro chiamato Foglio1
:
visibile, err := f.GetColVisible("Foglio1", "D")
Ottenere la larghezza della colonna
func (f *File) GetColWidth(foglio, colonna string) (float64, error)
Ottieni la larghezza della colonna specificata nel foglio di lavoro in base al nome del foglio di lavoro e al nome della colonna specificati. Questa funzione è sicura per la concorrenza.
Ottenere l'altezza della riga
func (f *File) GetRowHeight(foglio string, riga int) (float64, error)
Ottieni l'altezza della riga specificata nel foglio di lavoro in base al nome del foglio di lavoro e al numero di riga. Ad esempio, per ottenere l'altezza della prima riga nel foglio di lavoro chiamato Foglio1
:
altezza, err := f.GetRowHeight("Foglio1", 1)
Ottenere la visibilità della riga
func (f *File) GetRowVisible(foglio string, riga int) (bool, error)
Ottieni la visibilità della riga specificata nel foglio di lavoro in base al nome del foglio di lavoro e al numero di riga. Ad esempio, per ottenere la visibilità della seconda riga nel foglio di lavoro chiamato Foglio1
:
visibile, err := f.GetRowVisible("Foglio1", 2)
Ottenere l'indice di un foglio di lavoro
func (f *File) GetSheetIndex(foglio string) (int, error)
Ottieni l'indice del foglio di lavoro specificato dal suo nome. Restituisce -1
se il foglio di lavoro non esiste. L'indice ottenuto può essere utilizzato come parametro quando si chiama la funzione SetActiveSheet()
per impostare il foglio di lavoro predefinito del workbook.
Ottenere la mappatura dei fogli di lavoro
func (f *File) GetSheetMap() map[int]string
Ottieni la mappatura di tutti i fogli di lavoro, i fogli di grafici e i fogli di dialogo nel documento, rappresentati da ID e nome.
f, err := excelize.OpenFile("Book1.xlsx")
if err != nil {
return
}
defer func() {
if err := f.Close(); err != nil {
fmt.Println(err)
}
}()
for index, name := range f.GetSheetMap() {
fmt.Println(index, name)
}
Ottenere l'elenco dei fogli di lavoro
func (f *File) GetSheetList() []string
Ottieni l'elenco dei fogli di lavoro, inclusi i fogli di lavoro, i fogli di grafici e i fogli di dialogo nello stesso ordine in cui compaiono nel documento.
Impostare il nome di un foglio di lavoro
func (f *File) SetSheetName(source, target string) error
Rinomina il foglio di lavoro in base ai vecchi e nuovi nomi del foglio di lavoro dati. Il nome del foglio di lavoro può contenere fino a 31 caratteri. Questa funzione cambia solo il nome del foglio di lavoro e non aggiornerà le formule associate alle celle o i nomi dei fogli di lavoro nei riferimenti. Pertanto, utilizzare questa funzione per rinominare un foglio di lavoro potrebbe causare errori nelle formule o problemi di riferimento.
Inserire colonne
func (f *File) InsertCols(sheet, col string, n int) error
Inserisci colonne vuote prima della colonna specificata in base al nome del foglio di lavoro, al nome della colonna e al numero di colonne da inserire. Ad esempio, inserisci 2 colonne vuote prima della colonna C
nel foglio di lavoro chiamato Sheet1
:
err := f.InsertCols("Sheet1", "C", 2)
Inserire righe
func (f *File) InsertRows(sheet string, row, n int) error
Inserisci righe vuote prima della riga specificata in base al nome del foglio di lavoro, al numero di riga e al numero di righe da inserire. Ad esempio, inserisci 2 righe vuote prima della 3ª riga nel foglio di lavoro chiamato Sheet1
:
err := f.InsertRows("Sheet1", 3, 2)
Aggiungere e copiare righe
func (f *File) DuplicateRow(sheet string, row int) error
Aggiungi una duplicata dopo il numero di riga specificato in base al nome del foglio di lavoro dato. Ad esempio, duplica la 2ª riga del foglio di lavoro chiamato Sheet1
nella 3ª riga:
err := f.DuplicateRow("Sheet1", 2)
Usa questa funzione con cautela, poiché influenzerà tutte le modifiche alle formule originali, ai grafici e ad altri riferimenti delle risorse nel foglio di lavoro. Se il foglio di lavoro contiene dei valori di riferimento, aprirlo utilizzando un'applicazione Excel dopo aver utilizzato questa funzione potrebbe portare a errori nel file. Al momento excelize supporta solo gli aggiornamenti su riferimenti parziali nel foglio di lavoro.
Duplicare riga
func (f *File) DuplicateRowTo(sheet string, row, row2 int) error
Duplica la riga dopo la riga specificata in base al nome del foglio e al numero di riga. Ad esempio, duplica la seconda riga del foglio di lavoro chiamato Sheet1
dopo la settima riga:
err := f.DuplicateRowTo("Sheet1", 2, 7)
Usa questa funzione con cautela, poiché influenzerà tutte le modifiche alle formule originali, ai grafici e ad altre risorse referenziate nel foglio di lavoro. Se il foglio di lavoro contiene dei valori di riferimento, aprirlo con un'applicazione Excel dopo aver utilizzato questa funzione potrebbe causare errori nel file. excelize attualmente supporta solo gli aggiornamenti parziali nel foglio di lavoro.
Impostare il livello di struttura della riga
func (f *File) SetRowOutlineLevel(sheet string, row int, level uint8) error
Crea un gruppo in base al nome del foglio, al numero di riga e al parametro del livello di struttura. Ad esempio, crea un gruppo di livello 1 alla seconda riga del foglio di lavoro chiamato Sheet1
.
err := f.SetRowOutlineLevel("Sheet1", 2, 1)
Imposta il livello di contorno della colonna
func (f *File) SetColOutlineLevel(sheet, col string, level uint8) error
Crea un gruppo in base al nome del foglio, il nome della colonna e il livello di contorno specificato. Per esempio, crea un gruppo di livello 2 nella colonna D
del foglio chiamato Foglio1
.
err := f.SetColOutlineLevel("Foglio1", "D", 2)
Ottieni il livello di contorno della riga
func (f *File) GetRowOutlineLevel(sheet string, row int) (uint8, error)
Ottieni il livello di contorno in base al nome del foglio e al numero di riga specificato. Per esempio, ottieni il livello di contorno della seconda riga nel foglio chiamato Foglio1
.
level, err := f.GetRowOutlineLevel("Foglio1", 2)
Ottieni il livello di contorno della colonna
func (f *File) GetColOutlineLevel(sheet, col string) (uint8, error)
Ottieni il livello di contorno in base al nome del foglio e il nome della colonna specificati. Per esempio, ottieni il livello di contorno della colonna D
nel foglio chiamato Foglio1
.
level, err := f.GetColOutlineLevel("Foglio1", "D")
Iteratore di colonne
func (f *File) Cols(sheet string) (*Cols, error)
Ottieni l'iteratore di colonne del foglio specificato in base al nome del foglio fornito. Questa funzione è sicura per la concorrenza. Utilizza l'iteratore di colonne per la lettura in streaming e il attraversamento delle celle:
cols, err := f.Cols("Foglio1")
if err != nil {
fmt.Println(err)
return
}
for cols.Next() {
col, err := cols.Rows()
if err != nil {
fmt.Println(err)
}
for _, rowCell := range col {
fmt.Print(rowCell, "\t")
}
fmt.Println()
}
Iteratore di colonne - Ottieni i valori di una singola colonna
func (cols *Cols) Rows(opts ...Options) ([]string, error)
Restituisce i valori di tutte le righe nella colonna corrente.
Iteratore di colonne - Operazione di attraversamento
func (cols *Cols) Next() bool
Restituisce true
se ci sono valori nella prossima colonna.
Iteratore di colonne - Gestione degli errori
func (cols *Cols) Error() error
Restituisce un errore in caso di errore durante la ricerca della colonna successiva.
Iteratore di righe
func (f *File) Rows(sheet string) (*Rows, error)
Ottieni l'iteratore di righe del foglio specificato. Questa funzione è sicura per la concorrenza. Utilizza l'iteratore di righe per iterare attraverso le celle per la lettura in streaming:
rows, err := f.Rows("Foglio1")
if err != nil {
fmt.Println(err)
return
}
for rows.Next() {
row, err := rows.Columns()
if err != nil {
fmt.Println(err)
}
for _, colCell := range row {
fmt.Print(colCell, "\t")
}
fmt.Println()
}
if err = rows.Close(); err != nil {
fmt.Println(err)
}
Iteratore di righe - Operazione su singola riga
func (rows *Rows) Columns(opts ...Options) ([]string, error)
Questa funzione legge in streaming il foglio di lavoro riga per riga, restituendo i valori di ogni cella nella riga corrente, senza saltare eventuali righe vuote valide alla fine del foglio di lavoro.
Iteratore di righe - Operazione di attraversamento
func (rows *Rows) Next() bool
Restituisce true
se c'è un valore nella prossima riga.
Iteratore di righe - Gestione degli errori
func (rows *Rows) Error() error
Restituisce un errore quando si verifica un errore durante la ricerca della riga successiva.
Iteratore di righe - Leggi le proprietà della riga
func (rows *Rows) GetRowOpts() RowOpts
Restituisce le proprietà correnti della riga come altezza della riga, visibilità e ID dello stile.
Iteratore di righe - Chiudi il flusso dei dati
func (rows *Rows) Close() error
Chiude il flusso dei dati e pulisce le eventuali cache di disco di sistema generate durante l'apertura del foglio di lavoro.
Ricerca nel foglio di lavoro
func (f *File) SearchSheet(sheet, value string, reg ...bool) ([]string, error)
Ottieni le coordinate in base al nome del foglio di lavoro dato, valore della cella o espressione regolare. Questa funzione supporta solo corrispondenze esatte di stringhe e numeri, non supporta risultati calcolati, numeri formattati e ricerche condizionali. Se il risultato della ricerca è una cella unita, verranno restituite le coordinate dell'angolo in alto a sinistra dell'area unita.
Ad esempio, cerca le coordinate del valore 100
nel foglio di lavoro chiamato Foglio1
:
result, err := f.SearchSheet("Foglio1", "100")
Ad esempio, cerca le coordinate dei valori numerici nell'intervallo 0-9
nel foglio di lavoro chiamato Foglio1
:
result, err := f.SearchSheet("Foglio1", "[0-9]", true)
Proteggere il foglio di lavoro
func (f *File) ProtectSheet(sheet string, opts *SheetProtectionOptions) error
Impedisci ad altri utenti di modificare, spostare o eliminare dati nel foglio di lavoro accidentalmente o intenzionalmente. Il campo opzionale AlgorithmName
supporta la specifica dell'algoritmo di hash XOR, MD4, MD5, SHA-1, SHA-256, SHA-384 o SHA-512. Se l'algoritmo di hash non viene specificato, verrà utilizzato per impostazione predefinita l'algoritmo XOR. Ad esempio, impostando una protezione con password per il foglio di lavoro chiamato Foglio1
ma consentendo la selezione di celle bloccate, la selezione di celle sbloccate e scenari di modifica:
err := f.ProtectSheet("Foglio1", &excelize.SheetProtectionOptions{
AlgorithmName: "SHA-512",
Password: "password",
SelectLockedCells: true,
SelectUnlockedCells: true,
EditScenarios: true,
})
SheetProtectionOptions definisce le opzioni di configurazione per proteggere il foglio di lavoro.
type SheetProtectionOptions struct {
AlgorithmName string
AutoFilter bool
DeleteColumns bool
DeleteRows bool
EditObjects bool
EditScenarios bool
FormatCells bool
FormatColumns bool
FormatRows bool
InsertColumns bool
InsertHyperlinks bool
InsertRows bool
Password string
PivotTables bool
SelectLockedCells bool
SelectUnlockedCells bool
Sort bool
}
Deselezionare il foglio di lavoro
func (f *File) UnprotectSheet(sheet string, password ...string) error
Deseleziona il foglio di lavoro in base al nome del foglio di lavoro dato e specifica il secondo parametro opzionale password per annullare la protezione del foglio di lavoro tramite convalida della password.
Rimuovere colonna
func (f *File) RemoveCol(sheet, col string) error
Elimina la colonna specificata in base al nome del foglio di lavoro e al nome della colonna forniti. Ad esempio, elimina la colonna C
nel foglio di lavoro chiamato Foglio1
:
err := f.RemoveCol("Foglio1", "C")
Si prega di utilizzare questo metodo con cautela, poiché ciò influirà su tutte le modifiche alla formula originale, al grafico e ad altri riferimenti delle risorse nel foglio di lavoro. Se il foglio di lavoro contiene valori referenziati, l'utilizzo di questo metodo potrebbe causare errori nel file quando viene aperto con l'applicazione Excel dopo l'uso. Attualmente Excelize supporta solo aggiornamenti parziali sui valori referenziati nel foglio di lavoro.
Rimuovere riga
func (f *File) RemoveRow(sheet string, row int) error
Elimina la riga specificata in base al nome del foglio di lavoro e al numero di riga. Ad esempio, elimina la 3a riga nel foglio di lavoro chiamato Foglio1
:
err := f.RemoveRow("Foglio1", 3)
Si prega di utilizzare questo metodo con cautela, poiché ciò influirà su tutte le modifiche alla formula originale, al grafico e ad altri riferimenti delle risorse nel foglio di lavoro. Se il foglio di lavoro contiene valori referenziati, l'utilizzo di questo metodo potrebbe causare errori nel file quando viene aperto con l'applicazione Excel dopo l'uso. Attualmente Excelize supporta solo aggiornamenti parziali sui valori referenziati nel foglio di lavoro.
Assegnare valori per colonna
func (f *File) SetSheetCol(sheet, cell string, slice interface{}) error
Assegna valori per colonna in base al nome del foglio di lavoro, alle coordinate di partenza e al riferimento di tipo slice
. Ad esempio, assegna valori per colonna sulla colonna B
del foglio di lavoro chiamato Foglio1
, con la cella B6
come coordinata di partenza:
err := f.SetSheetCol("Foglio1", "B6", &[]interface{}{"1", nil, 2})
Assegnazione per riga
func (f *File) SetSheetRow(sheet, cell string, slice interface{}) error
Assegna i valori per riga in base al nome del foglio di lavoro fornito, alle coordinate di partenza e al riferimento al tipo di slice
. Questa funzione è sicura in modalità concorrente. Ad esempio, sulla 6° riga del foglio di lavoro chiamato Foglio1
, è possibile assegnare i valori per riga a partire dalla cella B6
:
err := f.SetSheetRow("Foglio1", "B6", &[]interface{}{"1", nil, 2})
Inserire interruzione di pagina
func (f *File) InsertPageBreak(sheet, cell string) error
Inserisce un'interruzione di pagina in base al nome del foglio di lavoro e alle coordinate della cella. Le interruzioni di pagina sono le linee divisorie che separano il foglio di lavoro in singole pagine per fini di stampa.
Rimuovere interruzione di pagina
func (f *File) RemovePageBreak(sheet, cell string) error
Rimuove un'interruzione di pagina in base al nome del foglio di lavoro e alle coordinate della cella.
Impostare la dimensione del foglio di lavoro
func (f *File) SetSheetDimension(sheet string, rangeRef string) error
Imposta o rimuove l'area utilizzata del foglio di lavoro in base al nome del foglio di lavoro e alle coordinate della cella o all'intervallo di coordinate della cella. Le celle utilizzate includono celle con formule, contenuto testuale e formattazione della cella, ad esempio, A1:D5
. Quando l'intervallo di coordinate della cella fornito è una stringa vuota, verrà rimossa l'area utilizzata del foglio di lavoro.
Ottenere la dimensione del foglio di lavoro
func (f *File) GetSheetDimension(sheet string) (string, error)
Ottiene l'area utilizzata del foglio di lavoro specificato basata sul nome del foglio di lavoro fornito.