Arkusz roboczy

Ustaw widoczność kolumny

func (f *File) UstawWidocznoscKolumny(arkusz, kolumna string, widoczny bool) error

Ustawia widoczność określonej kolumny na podstawie nazwy arkusza i nazwy kolumny. Ta funkcja jest bezpieczna w przypadku współbieżności. Na przykład, aby ukryć kolumnę D w arkuszu o nazwie Arkusz1:

err := f.UstawWidocznoscKolumny("Arkusz1", "D", false)

Ukryj kolumny D do F w arkuszu o nazwie Arkusz1:

err := f.UstawWidocznoscKolumny("Arkusz1", "D:F", false)

Ustaw szerokość kolumny

func (f *File) UstawSzerokoscKolumny(arkusz, startowaKolumna, koncowaKolumna string, szerokosc float64) error

Ustawia szerokość jednej lub więcej kolumn na podstawie nazwy arkusza, zakresu kolumn i wartości szerokości. Ta funkcja jest bezpieczna w przypadku współbieżności. Na przykład, aby ustawić szerokość kolumn A do H w arkuszu o nazwie Arkusz1 na 20:

err := f.UstawSzerokoscKolumny("Arkusz1", "A", "H", 20)

Ustaw wysokość wiersza

func (f *File) UstawWysokoscWiersza(arkusz string, wiersz int, wysokosc float64) error

Ustawia wysokość pojedynczego wiersza na podstawie nazwy arkusza, numeru wiersza i wartości wysokości. Na przykład, aby ustawić wysokość pierwszego wiersza w arkuszu o nazwie Arkusz1 na 50:

err := f.UstawWysokoscWiersza("Arkusz1", 1, 50)

Ustaw widoczność wiersza

func (f *File) UstawWidocznoscWiersza(arkusz string, wiersz int, widoczny bool) error

Ustawia widoczność określonego wiersza na podstawie nazwy arkusza i numeru wiersza. Na przykład, aby ukryć drugi wiersz w arkuszu o nazwie Arkusz1:

err := f.UstawWidocznoscWiersza("Arkusz1", 2, false)

Pobierz nazwę arkusza

func (f *File) PobierzNazweArkusza(indeks int) string

Pobiera nazwę arkusza na podstawie danego indeksu arkusza. Jeśli arkusz nie istnieje, zostanie zwrócony pusty ciąg znaków.

Pobierz widoczność kolumny

func (f *File) PobierzWidocznoscKolumny(arkusz, kolumna string) (bool, error)

Pobiera widoczność określonej kolumny w arkuszu na podstawie nazwy arkusza i nazwy kolumny. Wartość zwrócona true oznacza widoczność, a false oznacza niewidoczność. Ta funkcja jest bezpieczna w przypadku współbieżności. Na przykład, aby pobrać widoczność kolumny D w arkuszu o nazwie Arkusz1:

widoczna, err := f.PobierzWidocznoscKolumny("Arkusz1", "D")

Pobierz szerokość kolumny

func (f *File) PobierzSzerokoscKolumny(arkusz, kolumna string) (float64, error)

Pobiera szerokość określonej kolumny w arkuszu na podstawie nazwy arkusza i nazwy kolumny. Ta funkcja jest bezpieczna w przypadku współbieżności.

Pobierz wysokość wiersza

func (f *File) PobierzWysokoscWiersza(arkusz string, wiersz int) (float64, error)

Pobiera wysokość określonego wiersza w arkuszu na podstawie nazwy arkusza i numeru wiersza. Na przykład, aby pobrać wysokość pierwszego wiersza w arkuszu o nazwie Arkusz1:

wysokosc, err := f.PobierzWysokoscWiersza("Arkusz1", 1)

Pobierz widoczność wiersza

func (f *File) PobierzWidocznoscWiersza(arkusz string, wiersz int) (bool, error)

Pobiera widoczność określonego wiersza w arkuszu na podstawie nazwy arkusza i numeru wiersza. Na przykład, aby pobrać widoczność drugiego wiersza w arkuszu o nazwie Arkusz1:

widoczny, err := f.PobierzWidocznoscWiersza("Arkusz1", 2)

Pobierz indeks arkusza

func (f *File) PobierzIndeksArkusza(arkusz string) (int, error)

Pobiera indeks danego arkusza na podstawie jego nazwy. Zwraca -1, jeśli arkusz nie istnieje. Uzyskany indeks można wykorzystać jako parametr podczas wywoływania funkcji UstawAktywnyArkusz() w celu ustawienia domyślnego arkusza skoroszysza.

Pobierz mapowanie arkuszy kalkulacyjnych

func (f *File) GetSheetMap() map[int]string

Pobierz mapowanie wszystkich arkuszy kalkulacyjnych, arkuszy z wykresami i arkuszy dialogowych w skoroszycie, reprezentowane przez identyfikator i nazwę.

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)
}

Pobierz listę arkuszy kalkulacyjnych

func (f *File) GetSheetList() []string

Pobierz listę arkuszy kalkulacyjnych, w tym arkusze kalkulacyjne, arkusze z wykresami i arkusze dialogowe w takiej samej kolejności, w jakiej się pojawiają w skoroszycie.

Ustaw nazwę arkusza

func (f *File) SetSheetName(source, target string) error

Zmień nazwę arkusza na podstawie podanej starej i nowej nazwy arkusza. Nazwa arkusza może mieć maksymalnie 31 znaków. Ta funkcja zmienia tylko nazwę arkusza i nie aktualizuje formuł związanych z komórkami ani nazw arkuszy w odwołaniach. Dlatego używanie tej funkcji do zmiany nazwy arkusza może spowodować błędy formuł lub problemy z odwołaniami.

Wstawianie kolumn

func (f *File) InsertCols(sheet, col string, n int) error

Wstaw puste kolumny przed określoną kolumną na podstawie podanej nazwy arkusza, nazwy kolumny i liczby wstawianych kolumn. Na przykład wstaw 2 puste kolumny przed kolumną C w arkuszu o nazwie Arkusz1:

err := f.InsertCols("Arkusz1", "C", 2)

Wstawianie wierszy

func (f *File) InsertRows(sheet string, row, n int) error

Wstaw puste wiersze przed określonym wierszem na podstawie podanej nazwy arkusza, numeru wiersza i liczby wstawianych wierszy. Na przykład wstaw 2 puste wiersze przed 3. wierszem w arkuszu o nazwie Arkusz1:

err := f.InsertRows("Arkusz1", 3, 2)

Dodawanie i kopiowanie wierszy

func (f *File) DuplicateRow(sheet string, row int) error

Dodaj duplikat po określonym numerze wiersza na podstawie podanej nazwy arkusza. Na przykład, zduplikuj 2. wiersz arkusza o nazwie Arkusz1 na 3. wiersz:

err := f.DuplicateRow("Arkusz1", 2)

Bądź ostrożny, używając tej metody, ponieważ wpłynie ona na wszystkie zmiany w oryginalnych formułach, wykresach i innych odwołaniach zasobów w arkuszu. Jeśli arkusz zawiera jakiekolwiek wartości odwołań, otwarcie go przy użyciu aplikacji Excel po użyciu tej metody może spowodować błędy pliku. Obecnie excelize obsługuje tylko aktualizacje częściowych odwołań w arkuszu.

Zduplikuj wiersz

func (f *File) DuplicateRowTo(sheet string, row, row2 int) error

Zduplikuj wiersz po określonym wierszu na podstawie podanej nazwy arkusza i numeru wiersza. Na przykład zduplikuj drugi wiersz arkusza o nazwie Arkusz1 po siódmym wierszu:

err := f.DuplicateRowTo("Arkusz1", 2, 7)

Proszę używać tej metody ostrożnie, ponieważ wpłynie ona na wszystkie zmiany w oryginalnych formułach, wykresach i innych odwołaniach zasobów w arkuszu. Jeśli arkusz zawiera jakiekolwiek wartości odwołań, otwarcie go przy użyciu aplikacji Excel po użyciu tej metody może spowodować błędy pliku. Obecnie excelize obsługuje tylko aktualizacje częściowych odwołań w arkuszu.

Ustaw poziom zarysu wiersza

func (f *File) SetRowOutlineLevel(sheet string, row int, level uint8) error

Utwórz grupę na podstawie podanej nazwy arkusza, numeru wiersza i parametru poziomu zarysu. Na przykład, utwórz grupę poziomu 1 na drugim wierszu arkusza o nazwie Arkusz1.

Ustaw poziom zarysu wiersza

err := f.SetRowOutlineLevel("Arkusz1", 2, 1)

Ustaw poziom konspektu kolumny

func (f *Plik) UstawPoziomKonspektuKolumny(arkusz, kolumna string, poziom uint8) błąd

Tworzy grupę na podstawie podanej nazwy arkusza, nazwy kolumny i parametru poziomu konspektu. Na przykład, tworzy grupę poziomu 2 w kolumnie D arkusza o nazwie Arkusz1.

Ustaw poziom konspektu kolumny

błąd := f.UstawPoziomKonspektuKolumny("Arkusz1", "D", 2)

Pobierz poziom konspektu wiersza

func (f *Plik) PobierzPoziomKonspektuWiersza(arkusz string, wiersz int) (uint8, błąd)

Pobiera poziom konspektu na podstawie podanej nazwy arkusza i numeru wiersza. Na przykład, pobiera poziom konspektu drugiego wiersza w arkuszu o nazwie Arkusz1.

poziom, błąd := f.PobierzPoziomKonspektuWiersza("Arkusz1", 2)

Pobierz poziom konspektu kolumny

func (f *Plik) PobierzPoziomKonspektuKolumny(arkusz, kolumna string) (uint8, błąd)

Pobiera poziom konspektu na podstawie podanej nazwy arkusza i nazwy kolumny. Na przykład, pobiera poziom konspektu kolumny D w arkuszu o nazwie Arkusz1.

poziom, błąd := f.PobierzPoziomKonspektuKolumny("Arkusz1", "D")

Iterator kolumn

func (f *Plik) Kolumny(arkusz string) (*Kolumny, błąd)

Pobiera iterator kolumn określonego arkusza na podstawie podanej nazwy arkusza. Ta funkcja jest bezpieczna dla współbieżności. Użyj iteratora kolumn do strumieniowego odczytu i przeglądania komórek:

kolumny, błąd := f.Kolumny("Arkusz1")
if błąd != nil {
    fmt.Println(błąd)
    return
}
for kolumny.Następny() {
    kolumna, błąd := kolumny.Wiersze()
    if błąd != nil {
        fmt.Println(błąd)
    }
    for _, komórkaWiersza := range kolumna {
        fmt.Print(komórkaWiersza, "\t")
    }
    fmt.Println()
}

Iterator kolumn - Pobierz wartości pojedynczej kolumny

func (kolumny *Kolumny) Wiersze(opts ...Opcje) ([]string, błąd)

Zwraca wartości wszystkich wierszy w bieżącej kolumnie.

Iterator kolumn - Operacja przeglądania

func (kolumny *Kolumny) Następny() bool

Zwraca wartość true, jeśli istnieją wartości w następnej kolumnie.

Iterator kolumn - Obsługa błędów

func (kolumny *Kolumny) Błąd() błąd

Zwraca błąd, gdy wystąpi błąd podczas poszukiwania następnej kolumny.

Iterator wierszy

func (f *Plik) Wiersze(arkusz string) (*Wiersze, błąd)

Pobiera iterator wierszy o podanej nazwie arkusza. Ta funkcja jest bezpieczna dla współbieżności. Użyj iteratora wierszy do iteracji przez komórki do strumieniowego odczytu:

wiersze, błąd := f.Wiersze("Arkusz1")
if błąd != nil {
    fmt.Println(błąd)
    return
}
for wiersze.Następny() {
    wiersz, błąd := wiersze.Kolumny()
    if błąd != nil {
        fmt.Println(błąd)
    }
    for _, komórkaKolumny := range wiersz {
        fmt.Print(komórkaKolumny, "\t")
    }
    fmt.Println()
}
if błąd = wiersze.Zamknij(); błąd != nil {
    fmt.Println(błąd)
}

Iterator wierszy - Operacja pojedynczego wiersza

func (wiersze *Wiersze) Kolumny(opts ...Opcje) ([]string, błąd)

Ta funkcja umożliwia strumieniowe czytanie wiersza arkusza, zwracając wartości każdej komórki w bieżącym wierszu, bez pomijania pustych wierszy na końcu arkusza.

Iterator wierszy - Operacja przeglądania

func (wiersze *Wiersze) Następny() bool

Zwraca true, jeśli istnieje wartość w następnym wierszu.

Iterator wierszy - Obsługa błędów

func (wiersze *Wiersze) Błąd() błąd

Zwraca błąd, gdy wystąpi błąd podczas poszukiwania następnego wiersza.

Iterator wierszy - Odczytaj właściwości wiersza

func (wiersze *Wiersze) PobierzOpcjeWiersza() OpcjeWiersza

Zwraca właściwości bieżącego wiersza, takie jak wysokość wiersza, widoczność i identyfikator stylu.

Iterator wierszy - Zamknij strumień danych

func (wiersze *Wiersze) Zamknij() błąd

Zamyka strumień danych i czyści ewentualnie wygenerowany systemowy cache dyskowy podczas otwierania arkusza.

Wyszukaj w Arkuszu

func (f *File) SearchSheet(sheet, value string, reg ...bool) ([]string, error)

Uzyskaj współrzędne na podstawie podanej nazwy arkusza, wartości komórki lub wyrażenia regularnego. Ta funkcja obsługuje tylko pełne dopasowania ciągów znaków i liczb, nie obsługuje wyników obliczeń, sformatowanych liczb i wyszukiwań warunkowych. Jeśli wynik wyszukiwania jest scaloną komórką, zwrócone zostaną współrzędne górnego lewego rogu obszaru scalonego.

Na przykład, wyszukaj współrzędne wartości 100 w arkuszu o nazwie Arkusz1:

wynik, err := f.SearchSheet("Arkusz1", "100")

Na przykład, wyszukaj współrzędne wartości liczbowych w zakresie 0-9 w arkuszu o nazwie Arkusz1:

wynik, err := f.SearchSheet("Arkusz1", "[0-9]", true)

Zabezpiecz Arkusz

func (f *File) ProtectSheet(sheet string, opts *SheetProtectionOptions) error

Zabezpiecz arkusz przed przypadkową lub zamierzoną zmianą, przeniesieniem lub usunięciem danych. Opcjonalne pole AlgorithmName umożliwia określenie użytego algorytmu skrótu: XOR, MD4, MD5, SHA-1, SHA-256, SHA-384 lub SHA-512. Jeśli algorytm skrótu nie jest określony, domyślnie używany będzie algorytm XOR. Na przykład, ustawienie zabezpieczenia hasłem dla arkusza o nazwie Arkusz1, z zezwoleniem na zablokowane i niezablokowane komórki oraz edycję scenariuszy:

Protect Sheet

err := f.ProtectSheet("Arkusz1", &excelize.SheetProtectionOptions{
    AlgorithmName:       "SHA-512",
    Password:            "hasło",
    SelectLockedCells:   true,
    SelectUnlockedCells: true,
    EditScenarios:       true,
})

SheetProtectionOptions definiuje opcje ustawień zabezpieczenia arkusza.

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
}

Odblokuj Arkusz

func (f *File) UnprotectSheet(sheet string, password ...string) error

Odblokuj arkusz na podstawie podanej nazwy arkusza, i określ opcjonalne drugie hasło, aby anulować zabezpieczenie arkusza przez weryfikację hasła.

Usuń Kolumnę

func (f *File) RemoveCol(sheet, col string) error

Usuń określoną kolumnę na podstawie podanej nazwy arkusza i nazwy kolumny. Na przykład, usuń kolumnę C w arkuszu o nazwie Arkusz1:

err := f.RemoveCol("Arkusz1", "C")

Proszę używać tej metody ostrożnie, ponieważ spowoduje to wpływ na wszystkie zmiany w oryginalnej formule, wykresie i innych odwołaniach zasobów w arkuszu. Jeśli arkusz zawiera odwołania do wartości, użycie tej metody może spowodować błędy pliku po otwarciu go w aplikacji Excel. Excelize obecnie obsługuje tylko częściowe aktualizacje odwołań do wartości w arkuszu.

Usuń Wiersz

func (f *File) RemoveRow(sheet string, row int) error

Usuń określony wiersz na podstawie podanej nazwy arkusza i numeru wiersza. Na przykład, usuń 3. wiersz z arkusza o nazwie Arkusz1:

err := f.RemoveRow("Arkusz1", 3)

Proszę używać tej metody ostrożnie, ponieważ spowoduje to wpływ na wszystkie zmiany w oryginalnej formule, wykresie i innych odwołaniach zasobów w arkuszu. Jeśli arkusz zawiera odwołania do wartości, użycie tej metody może spowodować błędy pliku po otwarciu go w aplikacji Excel. Excelize obecnie obsługuje tylko częściowe aktualizacje odwołań do wartości w arkuszu.

Przypisz Wartości według Kolumny

func (f *File) SetSheetCol(sheet, cell string, slice interface{}) error

Przypisz wartości według kolumny na podstawie podanej nazwy arkusza, współrzędnych początkowych i odwołania typu slice. Na przykład, przypisz wartości według kolumny w kolumnie B arkusza o nazwie Arkusz1, z komórką B6 jako współrzędną początkową:

err := f.SetSheetCol("Arkusz1", "B6", &[]interface{}{"1", nil, 2})

Przypisz według wiersza

func (f *File) SetSheetRow(sheet, cell string, slice interface{}) error

Przypisuje wartości według wiersza na podstawie podanej nazwy arkusza, współrzędnych początkowych i odwołania do typu slice. Ta funkcja jest odporna na współbieżność. Na przykład, na 6. wierszu arkusza o nazwie Sheet1, wartości można przypisać według wiersza, rozpoczynając od komórki B6:

err := f.SetSheetRow("Sheet1", "B6", &[]interface{}{"1", nil, 2})

Wstaw przerwę strony

func (f *File) InsertPageBreak(sheet, cell string) error

Wstawia przerwę strony na podstawie podanej nazwy arkusza i współrzędnych komórki. Przerwy strony są liniami podziału, które dzielą arkusz na indywidualne strony do celów drukowania.

Usuń przerwę strony

func (f *File) RemovePageBreak(sheet, cell string) error

Usuwa przerwę strony na podstawie podanej nazwy arkusza i współrzędnych komórki.

Ustaw wymiary arkusza

func (f *File) SetSheetDimension(sheet string, rangeRef string) error

Ustawia lub usuwa obszar wykorzystywany arkusza na podstawie podanej nazwy arkusza i współrzędnych komórki lub zakresu współrzędnych komórki. Wykorzystane komórki obejmują komórki z formułami, treścią tekstową i formatowaniem komórki, na przykład A1:D5. Gdy podany zakres współrzędnych komórki jest pusty, usunie obszar wykorzystywany arkusza.

Uzyskaj wymiary arkusza

func (f *File) GetSheetDimension(sheet string) (string, error)

Pobiera obszar wykorzystywany określonego arkusza na podstawie podanej nazwy arkusza.