Lembar Kerja

Atur Visibilitas Kolom

func (f *File) SetColVisible(sheet, col string, visible bool) error

Atur visibilitas dari kolom yang diberikan berdasarkan nama lembar kerja dan nama kolom yang ditentukan. Fungsi ini aman untuk digunakan secara bersamaan. Sebagai contoh, untuk menyembunyikan kolom D pada lembar kerja bernama Sheet1:

err := f.SetColVisible("Sheet1", "D", false)

Sembunyikan kolom D hingga F pada lembar kerja bernama Sheet1:

err := f.SetColVisible("Sheet1", "D:F", false)

Atur Lebar Kolom

func (f *File) SetColWidth(sheet, startCol, endCol string, width float64) error

Atur lebar dari satu atau lebih kolom berdasarkan nama lembar kerja, rentang kolom, dan nilai lebar yang ditentukan. Fungsi ini aman untuk digunakan secara bersamaan. Sebagai contoh, untuk mengatur lebar kolom A hingga H pada lembar kerja bernama Sheet1 menjadi 20:

err := f.SetColWidth("Sheet1", "A", "H", 20)

Atur Tinggi Baris

func (f *File) SetRowHeight(sheet string, row int, height float64) error

Atur tinggi dari satu baris berdasarkan nama lembar kerja, nomor baris, dan nilai tinggi yang ditentukan. Sebagai contoh, untuk mengatur tinggi dari baris pertama pada lembar kerja bernama Sheet1 menjadi 50:

err := f.SetRowHeight("Sheet1", 1, 50)

Atur Visibilitas Baris

func (f *File) SetRowVisible(sheet string, row int, visible bool) error

Atur visibilitas dari baris yang ditentukan berdasarkan nama lembar kerja dan nomor baris yang diberikan. Sebagai contoh, untuk menyembunyikan baris kedua pada lembar kerja bernama Sheet1:

err := f.SetRowVisible("Sheet1", 2, false)

Dapatkan Nama Lembar Kerja

func (f *File) GetSheetName(index int) string

Dapatkan nama lembar kerja berdasarkan indeks lembar kerja yang diberikan. Jika lembar kerja tidak ada, akan dikembalikan string kosong.

Dapatkan Visibilitas Kolom

func (f *File) GetColVisible(sheet, column string) (bool, error)

Dapatkan visibilitas dari kolom yang ditentukan dalam lembar kerja berdasarkan nama lembar kerja dan nama kolom yang diberikan. Nilai kembalian true menunjukkan visibilitas, sementara false menunjukkan ketidakterlihatan. Fungsi ini aman untuk digunakan secara bersamaan. Sebagai contoh, untuk mendapatkan visibilitas dari kolom D pada lembar kerja bernama Sheet1:

visible, err := f.GetColVisible("Sheet1", "D")

Dapatkan Lebar Kolom

func (f *File) GetColWidth(sheet, col string) (float64, error)

Dapatkan lebar dari kolom yang ditentukan dalam lembar kerja berdasarkan nama lembar kerja dan nama kolom yang diberikan. Fungsi ini aman untuk digunakan secara bersamaan.

Dapatkan Tinggi Baris

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

Dapatkan tinggi dari baris yang ditentukan dalam lembar kerja berdasarkan nama lembar kerja dan nomor baris. Sebagai contoh, untuk mendapatkan tinggi dari baris pertama pada lembar kerja bernama Sheet1:

height, err := f.GetRowHeight("Sheet1", 1)

Dapatkan Visibilitas Baris

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

Dapatkan visibilitas dari baris yang ditentukan dalam lembar kerja berdasarkan nama lembar kerja dan nomor baris. Sebagai contoh, untuk mendapatkan visibilitas dari baris kedua pada lembar kerja bernama Sheet1:

visible, err := f.GetRowVisible("Sheet1", 2)

Dapatkan indeks dari sebuah lembar kerja

func (f *File) GetSheetIndex(sheet string) (int, error)

Dapatkan indeks dari lembar kerja yang diberikan berdasarkan namanya. Mengembalikan -1 jika lembar kerja tidak ada. Indeks yang diperoleh dapat digunakan sebagai parameter saat memanggil fungsi SetActiveSheet() untuk mengatur lembar kerja default dari workbook.

Dapatkan pemetaan dari lembar kerja

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

Dapatkan pemetaan dari semua lembar kerja, lembar grafik, dan lembar dialog dalam buku kerja, diwakili oleh ID dan nama.

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

Dapatkan daftar lembar kerja

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

Dapatkan daftar lembar kerja, termasuk lembar kerja, lembar grafik, dan lembar dialog dalam urutan yang sama dengan penampilan mereka dalam buku kerja.

Atur nama lembar kerja

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

Ubah nama lembar kerja berdasarkan nama lembar kerja lama dan baru yang diberikan. Nama lembar kerja dapat menggunakan hingga 31 karakter. Fungsi ini hanya mengubah nama lembar kerja dan tidak akan memperbarui rumus yang terkait dengan sel atau nama lembar kerja dalam referensi. Oleh karena itu, menggunakan fungsi ini untuk mengubah nama lembar kerja dapat menyebabkan kesalahan rumus atau masalah referensi.

Sisip kolom

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

Sisipkan kolom kosong sebelum kolom yang ditentukan berdasarkan nama lembar kerja, nama kolom, dan jumlah kolom yang akan disisipkan. Misalnya, sisipkan 2 kolom kosong sebelum kolom C dalam lembar kerja yang bernama Sheet1:

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

Sisip baris

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

Sisipkan baris kosong sebelum baris yang ditentukan berdasarkan nama lembar kerja, nomor baris, dan jumlah baris yang akan disisipkan. Misalnya, sisipkan 2 baris kosong sebelum baris ke-3 dalam lembar kerja yang bernama Sheet1:

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

Tambahkan dan salin baris

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

Tambahkan duplikat setelah nomor baris yang diberikan berdasarkan nama lembar kerja yang diberikan. Misalnya, duplikatkan baris ke-2 dari lembar kerja yang bernama Sheet1 ke baris ke-3:

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

Berhati-hatilah saat menggunakan metode ini, karena akan mempengaruhi semua perubahan pada rumus asli, grafik, dan referensi sumber daya lainnya dalam lembar kerja. Jika lembar kerja mengandung nilai referensi apa pun, membukanya menggunakan aplikasi Excel setelah menggunakan metode ini dapat menyebabkan kesalahan file. excelize saat ini hanya mendukung pembaruan sebagian referensi pada lembar kerja.

Duplikat Baris

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

Duplikat baris setelah baris yang ditentukan berdasarkan nama lembar kerja dan nomor baris. Misalnya, duplikatkan baris kedua dari lembar kerja yang bernama Sheet1 setelah baris ketujuh:

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

Harap menggunakan metode ini dengan hati-hati, karena akan mempengaruhi semua perubahan pada rumus asli, grafik, dan sumber daya lain yang dirujuk dalam lembar kerja. Jika lembar kerja mengandung nilai yang dirujuk, membukanya dengan aplikasi Excel setelah menggunakan metode ini mungkin mengakibatkan kesalahan file. excelize saat ini hanya mendukung pembaruan sebagian yang dirujuk pada lembar kerja.

Atur Tingkat Garis Besar Baris

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

Buat kelompok berdasarkan nama lembar kerja, nomor baris, dan parameter tingkat garis besar. Misalnya, buat kelompok level 1 pada baris kedua lembar kerja yang bernama Sheet1.

Set Row Outline Level

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

Atur Tingkat Kerangka Kolom

func (f *File) SetColOutlineLevel(sheet, col string, level uint8) error

Buat grup berdasarkan nama lembaran, nama kolom, dan parameter tingkat kerangka yang diberikan. Misalnya, buat grup tingkat 2 di kolom D dari lembar kerja yang bernama Sheet1.

Atur Tingkat Kerangka Kolom

err := f.SetColOutlineLevel("Sheet1", "D", 2)

Dapatkan Tingkat Kerangka Baris

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

Dapatkan tingkat kerangka berdasarkan nama lembaran dan nomor baris yang diberikan. Misalnya, dapatkan tingkat kerangka dari baris kedua di lembar kerja yang bernama Sheet1.

level, err := f.GetRowOutlineLevel("Sheet1", 2)

Dapatkan Tingkat Kerangka Kolom

func (f *File) GetColOutlineLevel(sheet, col string) (uint8, error)

Dapatkan tingkat kerangka berdasarkan nama lembaran dan nama kolom yang diberikan. Misalnya, dapatkan tingkat kerangka dari kolom D di lembar kerja yang bernama Sheet1.

level, err := f.GetColOutlineLevel("Sheet1", "D")

Pemutar Kolom

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

Dapatkan pemutar kolom dari lembaran yang ditentukan berdasarkan nama lembaran yang diberikan. Fungsi ini aman untuk digunakan secara bersamaan. Gunakan pemutar kolom untuk pembacaan berkelanjutan dan penelusuran sel:

cols, err := f.Cols("Sheet1")
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()
}

Pemutar Kolom - Dapatkan Nilai Kolom Tunggal

func (cols *Cols) Rows(opts ...Options) ([]string, error)

Kembalikan nilai dari semua baris dalam kolom saat ini.

Pemutar Kolom - Operasi Penelusuran

func (cols *Cols) Next() bool

Kembalikan true jika terdapat nilai dalam kolom selanjutnya.

Pemutar Kolom - Penanganan Kesalahan

func (cols *Cols) Error() error

Kembalikan sebuah kesalahan saat terjadi kesalahan saat mencari kolom selanjutnya.

Pemutar Baris

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

Dapatkan pemutar baris dari nama lembaran yang diberikan. Fungsi ini aman untuk digunakan secara bersamaan. Gunakan pemutar baris untuk menelusuri sel untuk pembacaan berkelanjutan:

rows, err := f.Rows("Sheet1")
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)
}

Pemutar Baris - Operasi Baris Tunggal

func (rows *Rows) Columns(opts ...Options) ([]string, error)

Fungsi ini membaca lembar kerja baris demi baris, mengembalikan nilai dari setiap sel pada baris saat ini, tanpa melewati baris kosong akhir yang valid dalam lembar kerja.

Pemutar Baris - Operasi Penelusuran

func (rows *Rows) Next() bool

Mengembalikan true jika terdapat nilai dalam baris selanjutnya.

Pemutar Baris - Penanganan Kesalahan

func (rows *Rows) Error() error

Mengembalikan sebuah error saat terjadi kesalahan saat mencari baris selanjutnya.

Pemutar Baris - Baca Properti Baris

func (rows *Rows) GetRowOpts() RowOpts

Mengembalikan properti baris saat ini seperti tinggi baris, visibilitas, dan ID gaya.

Pemutar Baris - Tutup Aliran Data

func (rows *Rows) Close() error

Menutup aliran data dan membersihkan cache disk sistem yang mungkin telah dibuat saat membuka lembar kerja.

Penelusuran dalam Lembar Kerja

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

Dapatkan koordinat berdasarkan nama lembar kerja yang diberikan, nilai sel, atau ekspresi reguler. Fungsi ini hanya mendukung pencocokan penuh dari string dan angka, tidak mendukung hasil perhitungan, angka yang diformat, dan pencarian bersyarat. Jika hasil pencarian adalah sel yang digabungkan, koordinat sudut kiri atas dari area yang digabungkan akan dikembalikan.

Sebagai contoh, cari koordinat dari nilai 100 dalam lembar kerja yang bernama Sheet1:

result, err := f.SearchSheet("Sheet1", "100")

Sebagai contoh, cari koordinat dari nilai numerik dalam rentang 0-9 dalam lembar kerja yang bernama Sheet1:

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

Melindungi Lembar Kerja

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

Mencegah pengguna lain secara tidak sengaja atau disengaja mengubah, memindahkan, atau menghapus data dalam lembar kerja. Bidang opsional AlgorithmName mendukung penentuan algoritma hash XOR, MD4, MD5, SHA-1, SHA-256, SHA-384, atau SHA-512. Jika algoritma hash tidak ditentukan, algoritma XOR akan digunakan secara default. Sebagai contoh, menetapkan perlindungan sandi untuk lembar kerja yang bernama Sheet1 namun memperbolehkan pemilihan sel terkunci, pemilihan sel tidak terkunci, dan skenario penyuntingan:

Protect Sheet

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

SheetProtectionOptions mendefinisikan opsi pengaturan untuk melindungi lembar kerja.

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
}

Membuka Perlindungan Lembar Kerja

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

Membuka perlindungan lembar kerja sesuai dengan nama lembar kerja yang diberikan, dan menentukan parameter sandi opsional kedua untuk membatalkan perlindungan lembar kerja dengan validasi sandi.

Hapus Kolom

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

Hapus kolom yang ditentukan sesuai dengan nama lembar kerja dan nama kolom yang diberikan. Sebagai contoh, hapus kolom C dalam lembar kerja yang bernama Sheet1:

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

Harap gunakan metode ini dengan hati-hati, karena hal ini akan memengaruhi semua perubahan pada formula asli, grafik, dan referensi sumber daya lainnya dalam lembar kerja. Jika lembar kerja mengandung nilai yang dirujuk, penggunaan metode ini dapat menyebabkan kesalahan file saat dibuka dengan aplikasi Excel setelah penggunaan. Excelize saat ini hanya mendukung pembaruan sebagian pada nilai yang dirujuk dalam lembar kerja.

Hapus Baris

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

Hapus baris yang ditentukan sesuai dengan nama lembar kerja dan nomor baris yang diberikan. Sebagai contoh, hapus baris ke-3 dalam lembar kerja yang bernama Sheet1:

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

Harap gunakan metode ini dengan hati-hati, karena hal ini akan memengaruhi semua perubahan pada formula asli, grafik, dan referensi sumber daya lainnya dalam lembar kerja. Jika lembar kerja mengandung nilai yang dirujuk, penggunaan metode ini dapat menyebabkan kesalahan file saat dibuka dengan aplikasi Excel setelah penggunaan. Excelize saat ini hanya mendukung pembaruan sebagian pada nilai yang dirujuk dalam lembar kerja.

Menetapkan Nilai berdasarkan Kolom

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

Menetapkan nilai berdasarkan kolom sesuai dengan nama lembar kerja, koordinat awal, dan referensi tipe slice. Sebagai contoh, tetapkan nilai berdasarkan kolom pada kolom B dari lembar kerja yang bernama Sheet1, dengan sel B6 sebagai koordinat awal:

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

Mengassign berdasarkan Baris

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

Mengassign nilai berdasarkan baris berdasarkan nama lembar kerja yang diberikan, koordinat awal, dan referensi tipe slice. Fungsi ini aman untuk digunakan secara konkurensi. Sebagai contoh, pada baris ke-6 dari lembar kerja yang bernama Sheet1, nilai dapat diassign berdasarkan baris dimulai dari sel B6:

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

Memasukkan Pemisah Halaman

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

Memasukkan pemisah halaman berdasarkan nama lembar kerja dan koordinat sel yang diberikan. Pemisah halaman adalah garis pembatas yang memisahkan lembar kerja ke dalam halaman individu untuk keperluan pencetakan.

Menghapus Pemisah Halaman

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

Menghapus pemisah halaman berdasarkan nama lembar kerja dan koordinat sel.

Mengatur Dimensi Lembar Kerja

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

Mengatur atau menghapus area yang digunakan dari lembar kerja berdasarkan nama lembar kerja dan koordinat sel atau rentang koordinat sel. Sel yang digunakan termasuk sel dengan rumus, konten teks, dan format sel, misalnya, A1:D5. Ketika rentang koordinat sel yang diberikan adalah string kosong, akan menghapus area yang digunakan dari lembar kerja.

Mendapatkan Dimensi Lembar Kerja

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

Mendapatkan area yang digunakan dari lembar kerja yang ditentukan berdasarkan nama lembar kerja yang diberikan.