Arbeitsblatt
Spalten Sichtbarkeit festlegen
func (f *File) SetColVisible(sheet, col string, visible bool) error
Legt die Sichtbarkeit der angegebenen Spalte basierend auf dem angegebenen Arbeitsblattnamen und Spaltennamen fest. Diese Funktion ist concurrency-sicher. Zum Beispiel, um die Spalte D
im Arbeitsblatt mit dem Namen Blatt1
zu verbergen:
err := f.SetColVisible("Blatt1", "D", false)
Verbergen Sie die Spalten D
bis F
im Arbeitsblatt mit dem Namen Blatt1
:
err := f.SetColVisible("Blatt1", "D:F", false)
Spaltenbreite festlegen
func (f *File) SetColWidth(sheet, startCol, endCol string, width float64) error
Legt die Breite einer oder mehrerer Spalten basierend auf dem gegebenen Arbeitsblattnamen, Spaltenbereich und Breitenwert fest. Diese Funktion ist concurrency-sicher. Zum Beispiel, um die Breite der Spalten A
bis H
im Arbeitsblatt mit dem Namen Blatt1
auf 20
festzulegen:
err := f.SetColWidth("Blatt1", "A", "H", 20)
Zeilenhöhe festlegen
func (f *File) SetRowHeight(sheet string, row int, height float64) error
Legt die Höhe einer einzelnen Zeile basierend auf dem gegebenen Arbeitsblattnamen, Zeilennummer und Höhenwert fest. Zum Beispiel, um die Höhe der ersten Zeile im Arbeitsblatt mit dem Namen Blatt1
auf 50
festzulegen:
err := f.SetRowHeight("Blatt1", 1, 50)
Zeilen Sichtbarkeit festlegen
func (f *File) SetRowVisible(sheet string, row int, visible bool) error
Legt die Sichtbarkeit der angegebenen Zeile basierend auf dem gegebenen Arbeitsblattnamen und der Zeilennummer fest. Zum Beispiel, um die zweite Zeile im Arbeitsblatt mit dem Namen Blatt1
zu verbergen:
err := f.SetRowVisible("Blatt1", 2, false)
Arbeitsblattnamen abrufen
func (f *File) GetSheetName(index int) string
Holt den Arbeitsblattnamen basierend auf dem gegebenen Arbeitsblattindex. Falls das Arbeitsblatt nicht existiert, wird ein leerer String zurückgegeben.
Spalten Sichtbarkeit abrufen
func (f *File) GetColVisible(sheet, column string) (bool, error)
Ermittelt die Sichtbarkeit der angegebenen Spalte im Arbeitsblatt basierend auf dem gegebenen Arbeitsblattnamen und Spaltennamen. Ein Rückgabewert von true
deutet auf Sichtbarkeit hin, während false
Unsichtbarkeit angibt. Diese Funktion ist concurrency-sicher. Zum Beispiel, um die Sichtbarkeit der Spalte D
im Arbeitsblatt mit dem Namen Blatt1
abzurufen:
visible, err := f.GetColVisible("Blatt1", "D")
Spaltenbreite abrufen
func (f *File) GetColWidth(sheet, col string) (float64, error)
Ermittelt die Breite der angegebenen Spalte im Arbeitsblatt basierend auf dem gegebenen Arbeitsblattnamen und Spaltennamen. Diese Funktion ist concurrency-sicher.
Zeilenhöhe abrufen
func (f *File) GetRowHeight(sheet string, row int) (float64, error)
Ermittelt die Höhe der angegebenen Zeile im Arbeitsblatt basierend auf dem gegebenen Arbeitsblattnamen und Zeilennummer. Zum Beispiel, um die Höhe der ersten Zeile im Arbeitsblatt mit dem Namen Blatt1
abzurufen:
height, err := f.GetRowHeight("Blatt1", 1)
Zeilen Sichtbarkeit abrufen
func (f *File) GetRowVisible(sheet string, row int) (bool, error)
Ermittelt die Sichtbarkeit der angegebenen Zeile im Arbeitsblatt basierend auf dem gegebenen Arbeitsblattnamen und Zeilennummer. Zum Beispiel, um die Sichtbarkeit der zweiten Zeile im Arbeitsblatt mit dem Namen Blatt1
abzurufen:
visible, err := f.GetRowVisible("Blatt1", 2)
Abrufen des Index eines Arbeitsblatts
func (f *File) GetSheetIndex(sheet string) (int, error)
Holt den Index des angegebenen Arbeitsblatts anhand seines Namens. Gibt -1
zurück, wenn das Arbeitsblatt nicht existiert. Der erhaltene Index kann als Parameter verwendet werden, wenn die Funktion SetActiveSheet()
aufgerufen wird, um das Standardarbeitsblatt der Arbeitsmappe festzulegen.
Get the mapping of worksheets
func (f *File) GetSheetMap() map[int]string
Erhalten Sie die Zuordnung aller Arbeitsblätter, Diagrammblätter und Dialogblätter in der Arbeitsmappe, die durch ID und Namen dargestellt werden.
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)
}
Get the list of worksheets
func (f *File) GetSheetList() []string
Erhalten Sie die Liste der Arbeitsblätter, einschließlich Arbeitsblättern, Diagrammblättern und Dialogblättern in der gleichen Reihenfolge wie sie in der Arbeitsmappe erscheinen.
Set the name of a worksheet
func (f *File) SetSheetName(source, target string) error
Benennen Sie das Arbeitsblatt basierend auf den alten und neuen Arbeitsblattnamen um. Der Arbeitsblattname kann bis zu 31 Zeichen umfassen. Diese Funktion ändert nur den Namen des Arbeitsblatts und aktualisiert nicht die Formeln, die mit Zellen oder Arbeitsblattnamen in Verweisen verknüpft sind. Daher kann die Verwendung dieser Funktion zur Umbenennung eines Arbeitsblatts zu Formelfehlern oder Referenzproblemen führen.
Insert columns
func (f *File) InsertCols(sheet, col string, n int) error
Fügen Sie leere Spalten vor der angegebenen Spalte basierend auf dem gegebenen Arbeitsblattnamen, Spaltennamen und der Anzahl der einzufügenden Spalten ein. Zum Beispiel fügen Sie 2 leere Spalten vor der Spalte C
im Arbeitsblatt mit dem Namen Sheet1
ein:
err := f.InsertCols("Sheet1", "C", 2)
Insert rows
func (f *File) InsertRows(sheet string, row, n int) error
Fügen Sie leere Zeilen vor der angegebenen Zeile basierend auf dem gegebenen Arbeitsblattnamen, Zeilennummer und der Anzahl der einzufügenden Zeilen ein. Zum Beispiel fügen Sie 2 leere Zeilen vor der 3. Zeile im Arbeitsblatt mit dem Namen Sheet1
ein:
err := f.InsertRows("Sheet1", 3, 2)
Append and copy rows
func (f *File) DuplicateRow(sheet string, row int) error
Fügen Sie basierend auf dem angegebenen Arbeitsblattnamen eine Kopie nach der angegebenen Zeilennummer hinzu. Zum Beispiel kopieren Sie die 2. Zeile des Arbeitsblatts mit dem Namen Sheet1
in die 3. Zeile:
err := f.DuplicateRow("Sheet1", 2)
Verwenden Sie diese Methode mit Vorsicht, da sie alle Änderungen an den ursprünglichen Formeln, Diagrammen und anderen Ressourcenverweisen im Arbeitsblatt beeinflusst. Wenn das Arbeitsblatt irgendwelche Bezugswerte enthält, kann das Öffnen mit einer Excel-Anwendung nach der Verwendung dieser Methode zu Dateifehlern führen. excelize unterstützt derzeit nur Aktualisierungen von teilweise referenzierten Werten im Arbeitsblatt.
Duplicate Row
func (f *File) DuplicateRowTo(sheet string, row, row2 int) error
Duplizieren Sie die Zeile nach der angegebenen Zeile basierend auf dem gegebenen Blattnamen und der Zeilennummer. Zum Beispiel duplizieren Sie die zweite Zeile des Arbeitsblatts mit dem Namen Sheet1
nach der siebten Zeile:
err := f.DuplicateRowTo("Sheet1", 2, 7)
Bitte verwenden Sie diese Methode mit Vorsicht, da sie alle Änderungen an den ursprünglichen Formeln, Diagrammen und anderen Ressourcenverweisen im Arbeitsblatt beeinflusst. Wenn das Arbeitsblatt irgendwelche referenzierten Werte enthält, kann das Öffnen mit einer Excel-Anwendung nach der Verwendung dieser Methode zu Dateifehlern führen. excelize unterstützt derzeit nur Aktualisierungen von teilweise referenzierten Werten im Arbeitsblatt.
Set Row Outline Level
func (f *File) SetRowOutlineLevel(sheet string, row int, level uint8) error
Erstellen Sie basierend auf dem gegebenen Blattnamen, der Zeilennummer und dem Gliederungsebenenparameter eine Gruppe. Zum Beispiel erstellen Sie eine Gruppe der Ebene 1 in der zweiten Zeile des Arbeitsblatts mit dem Namen Sheet1
.
err := f.SetRowOutlineLevel("Sheet1", 2, 1)
Spalten-Umrissstufe festlegen
func (f *File) SetColOutlineLevel(sheet, col string, level uint8) error
Erstellt eine Gruppe basierend auf dem angegebenen Tabellennamen, Spaltennamen und Umrissstufenparameter. Zum Beispiel eine Gruppe der Stufe 2 in der Spalte D
des Tabellenblatts namens Blatt1
erstellen.
err := f.SetColOutlineLevel("Blatt1", "D", 2)
Zeilen-Umrissstufe abrufen
func (f *File) GetRowOutlineLevel(sheet string, row int) (uint8, error)
Ruft die Umrissstufe basierend auf dem angegebenen Tabellennamen und der Zeilennummer ab. Zum Beispiel die Umrissstufe der zweiten Zeile im Tabellenblatt namens Blatt1
abrufen.
level, err := f.GetRowOutlineLevel("Blatt1", 2)
Spalten-Umrissstufe abrufen
func (f *File) GetColOutlineLevel(sheet, col string) (uint8, error)
Ruft die Umrissstufe basierend auf dem angegebenen Tabellennamen und Spaltennamen ab. Zum Beispiel die Umrissstufe der Spalte D
im Tabellenblatt namens Blatt1
abrufen.
level, err := f.GetColOutlineLevel("Blatt1", "D")
Spalteniterator
func (f *File) Cols(sheet string) (*Cols, error)
Ruft den Spalteniterator des angegebenen Tabellenblatts basierend auf dem angegebenen Tabellennamen ab. Diese Funktion ist concurrency-safe. Verwenden Sie den Spalteniterator für das Streamen des Lesens und Zelltraversierung:
cols, err := f.Cols("Blatt1")
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()
}
Spalteniterator - Werte einer einzelnen Spalte abrufen
func (cols *Cols) Rows(opts ...Options) ([]string, error)
Gibt die Werte aller Zeilen in der aktuellen Spalte zurück.
Spalteniterator - Traversierungsvorgang
func (cols *Cols) Next() bool
Gibt true
zurück, wenn es Werte in der nächsten Spalte gibt.
Spalteniterator - Fehlerbehandlung
func (cols *Cols) Error() error
Gibt einen Fehler zurück, wenn beim Suchen der nächsten Spalte ein Fehler auftritt.
Zeileniterator
func (f *File) Rows(sheet string) (*Rows, error)
Ruft den Zeileniterator des angegebenen Tabellennamens ab. Diese Funktion ist concurrency-safe. Verwenden Sie den Zeileniterator zum Durchlaufen von Zellen für das Streamen des Lesens:
rows, err := f.Rows("Blatt1")
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)
}
Zeileniterator - Einzelner Zeilenbetrieb
func (rows *Rows) Columns(opts ...Options) ([]string, error)
Diese Funktion liest das Tabellenblatt zeilenweise im Stream, gibt die Werte jeder Zelle in der aktuellen Zeile zurück, ohne gültige leere Zeilen am Ende des Tabellenblatts zu überspringen.
Zeileniterator - Traversierungsvorgang
func (rows *Rows) Next() bool
Gibt true
zurück, wenn es einen Wert in der nächsten Zeile gibt.
Zeileniterator - Fehlerbehandlung
func (rows *Rows) Error() error
Gibt einen Fehler zurück, wenn beim Suchen der nächsten Zeile ein Fehler auftritt.
Zeileniterator - Zeileneigenschaften lesen
func (rows *Rows) GetRowOpts() RowOpts
Gibt die Eigenschaften der aktuellen Zeile zurück, wie beispielsweise Zeilenhöhe, Sichtbarkeit und Style-ID.
Zeileniterator - Datenstrom schließen
func (rows *Rows) Close() error
Schließt den Datenstrom und bereinigt jeglichen Systemspeicher, der beim Öffnen des Tabellenblatts erzeugt wurde.
In Arbeitsblatt suchen
func (f *File) SearchSheet(sheet, value string, reg ...bool) ([]string, error)
Ermitteln Sie die Koordinaten anhand des angegebenen Arbeitsblattnamens, des Zellenwerts oder des regulären Ausdrucks. Diese Funktion unterstützt nur vollständige Übereinstimmungen von Zeichenfolgen und Zahlen, unterstützt keine berechneten Ergebnisse, formatierten Zahlen und bedingten Suchvorgänge. Wenn das Suchergebnis eine zusammengeführte Zelle ist, werden die Koordinaten der linken oberen Ecke des zusammengeführten Bereichs zurückgegeben.
Beispiel: Suchen Sie nach den Koordinaten des Werts 100
im Arbeitsblatt mit dem Namen Sheet1
:
result, err := f.SearchSheet("Sheet1", "100")
Beispiel: Suchen Sie nach den Koordinaten numerischer Werte im Bereich 0-9
im Arbeitsblatt mit dem Namen Sheet1
:
result, err := f.SearchSheet("Sheet1", "[0-9]", true)
Arbeitsblatt schützen
func (f *File) ProtectSheet(sheet string, opts *SheetProtectionOptions) error
Verhindern Sie, dass andere Benutzer Daten im Arbeitsblatt versehentlich oder absichtlich ändern, verschieben oder löschen. Das optionale Feld AlgorithmName
unterstützt die Angabe des Hash-Algorithmus XOR, MD4, MD5, SHA-1, SHA-256, SHA-384 oder SHA-512. Wenn der Hash-Algorithmus nicht angegeben ist, wird standardmäßig der XOR-Algorithmus verwendet. Beispiel: Einstellen eines Passwortschutzes für das Arbeitsblatt mit dem Namen Sheet1
, das jedoch die Auswahl von gesperrten Zellen, die Auswahl von nicht gesperrten Zellen und Bearbeitungsszenarien zulässt:
err := f.ProtectSheet("Sheet1", &excelize.SheetProtectionOptions{
AlgorithmName: "SHA-512",
Password: "Passwort",
SelectLockedCells: true,
SelectUnlockedCells: true,
Bearbeitungsszenarien: true,
})
SheetProtectionOptions definiert die Einstellungsoptionen zum Schutz des Arbeitsblatts.
type SheetProtectionOptions struct {
AlgorithmName string
AutoFilter bool
Spalten löschen bool
Zeilen löschen bool
Objekte bearbeiten bool
Bearbeitungsszenarien bool
Zellen formatieren bool
Spalten formatieren bool
Zeilen formatieren bool
Spalten einfügen bool
Hyperlinks einfügen bool
Zeilen einfügen bool
Passwort string
Pivot-Tabellen bool
Gesperrte Zellen auswählen bool
Nicht gesperrte Zellen auswählen bool
Sortieren bool
}
Arbeitsblatt entsperren
func (f *File) UnprotectSheet(sheet string, password ...string) error
Entsperren Sie das Arbeitsblatt gemäß dem angegebenen Arbeitsblattnamen und geben Sie das optionale zweite Passwortparameter an, um den Arbeitsblattschutz durch Passwortvalidierung aufzuheben.
Spalte entfernen
func (f *File) RemoveCol(sheet, col string) error
Löschen Sie die angegebene Spalte gemäß dem angegebenen Arbeitsblattnamen und Spaltennamen. Beispiel: Löschen Sie die Spalte C
im Arbeitsblatt mit dem Namen Sheet1
:
err := f.RemoveCol("Sheet1", "C")
Bitte verwenden Sie diese Methode mit Vorsicht, da dies alle Änderungen an den ursprünglichen Formeln, Diagrammen und anderen Ressourcenverweisen im Arbeitsblatt beeinflusst. Wenn das Arbeitsblatt irgendwelche referenzierten Werte enthält, kann die Verwendung dieser Methode Dateifehler verursachen, wenn sie nach der Verwendung mit der Excel-Anwendung geöffnet wird. Excelize unterstützt derzeit nur teilweise Aktualisierungen von referenzierten Werten im Arbeitsblatt.
Zeile entfernen
func (f *File) RemoveRow(sheet string, row int) error
Löschen Sie die angegebene Zeile gemäß dem angegebenen Arbeitsblattnamen und der Zeilennummer. Beispiel: Löschen Sie die 3. Zeile im Arbeitsblatt mit dem Namen Sheet1
:
err := f.RemoveRow("Sheet1", 3)
Bitte verwenden Sie diese Methode mit Vorsicht, da dies alle Änderungen an den ursprünglichen Formeln, Diagrammen und anderen Ressourcenverweisen im Arbeitsblatt beeinflusst. Wenn das Arbeitsblatt irgendwelche referenzierten Werte enthält, kann die Verwendung dieser Methode Dateifehler verursachen, wenn sie nach der Verwendung mit der Excel-Anwendung geöffnet wird. Excelize unterstützt derzeit nur teilweise Aktualisierungen von referenzierten Werten im Arbeitsblatt.
Werte nach Spalte zuweisen
func (f *File) SetSheetCol(sheet, cell string, slice interface{}) error
Weisen Sie Werte nach Spalte gemäß dem angegebenen Arbeitsblattnamen, den Startkoordinaten und dem Referenztyp slice
zu. Beispiel: Weisen Sie Werte nach Spalte in der Spalte B
des Arbeitsblatts mit dem Namen Sheet1
zu, wobei die Zelle B6
als Startkoordinate dient:
err := f.SetSheetCol("Sheet1", "B6", &[]interface{}{"1", nil, 2})
Nach Zeile zuweisen
func (f *File) SetSheetRow(sheet, cell string, slice interface{}) error
Weist Werte nach Zeile zu, basierend auf dem gegebenen Arbeitsblattnamen, den Startkoordinaten und dem Verweis auf den Typ von slice
. Diese Funktion ist concurrency-sicher. Zum Beispiel können auf der 6. Zeile des Arbeitsblatts mit dem Namen Sheet1
Werte nach Zeile ab Zelle B6
zugewiesen werden:
err := f.SetSheetRow("Sheet1", "B6", &[]interface{}{"1", nil, 2})
Seitenumbruch einfügen
func (f *File) InsertPageBreak(sheet, cell string) error
Fügt einen Seitenumbruch basierend auf dem gegebenen Arbeitsblattnamen und den Zellenkoordinaten ein. Seitenumbrüche sind die Trennlinien, die das Arbeitsblatt zu einzelnen Seiten für Druckzwecke trennen.
Seitenumbruch entfernen
func (f *File) RemovePageBreak(sheet, cell string) error
Entfernt einen Seitenumbruch basierend auf dem gegebenen Arbeitsblattnamen und den Zellenkoordinaten.
Arbeitsblattdimension festlegen
func (f *File) SetSheetDimension(sheet string, rangeRef string) error
Legt den genutzten Bereich des Arbeitsblatts basierend auf dem gegebenen Arbeitsblattnamen und den Zellenkoordinaten oder dem Zellenkoordinatenbereich fest oder entfernt diesen. Die genutzten Zellen umfassen Zellen mit Formeln, Textinhalt und Zellformatierung, beispielsweise A1:D5
. Wenn der angegebene Zellenkoordinatenbereich ein Leerstring ist, wird der genutzte Bereich des Arbeitsblatts entfernt.
Arbeitsblattdimension abrufen
func (f *File) GetSheetDimension(sheet string) (string, error)
Ermittelt den genutzten Bereich des angegebenen Arbeitsblatts basierend auf dem gegebenen Arbeitsblattnamen.