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.

Set Row Outline Level

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.

Spalten-Umrissstufe festlegen

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:

Arbeitsblatt schützen

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.