Çalışma Sayfası

Sütun Görünürlüğünü Ayarla

func (f *Dosya) SutunGorunurluguAyarla(sayfa, sutun string, gorunur bool) error

Belirtilen çalışma sayfası adı ve sütun adına göre verilen sütunun görünürlüğünü ayarlar. Bu işlev eş zamanlılık için güvenlidir. Örneğin, Sheet1 adlı çalışma sayfasında D sütununu gizlemek için:

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

Sheet1 adlı çalışma sayfasında D ile F arasındaki sütunları gizlemek için:

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

Sütun Genişliğini Ayarla

func (f *Dosya) SutunGenisligiAyarla(sayfa, baslangicSutun, bitisSutun string, genislik float64) error

Verilen çalışma sayfası adı, sütun aralığı ve genişlik değerine göre bir veya daha fazla sütunun genişliğini ayarlar. Bu işlev eş zamanlılık için güvenlidir. Örneğin, Sheet1 adlı çalışma sayfasında A ile H arasındaki sütunların genişliğini 20 olarak ayarlamak için:

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

Satır Yüksekliğini Ayarla

func (f *Dosya) SatirYuksekligiAyarla(sayfa string, satir int, yukseklik float64) error

Verilen çalışma sayfası adı, satır numarası ve yükseklik değerine göre tek bir satırın yüksekliğini ayarlar. Örneğin, Sheet1 adlı çalışma sayfasında ilk satırın yüksekliğini 50 olarak ayarlamak için:

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

Satır Görünürlüğünü Ayarla

func (f *Dosya) SatirGorunurluguAyarla(sayfa string, satir int, gorunur bool) error

Belirtilen çalışma sayfası adı ve satır numarasına göre verilen satırın görünürlüğünü ayarlar. Örneğin, Sheet1 adlı çalışma sayfasında ikinci satırı gizlemek için:

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

Çalışma Sayfası Adını Al

func (f *Dosya) SayfaAdiniAl(index int) string

Verilen çalışma sayfası indeksine göre çalışma sayfasının adını alır. Eğer çalışma sayfası mevcut değilse, boş bir dize döndürülür.

Sütun Görünürlüğünü Al

func (f *Dosya) SutunGorunurlugunuAl(sayfa, sutun string) (bool, error)

Belirtilen çalışma sayfası adı ve sütun adına göre çalışma sayfasındaki belirtilen sütunun görünürlüğünü alır. true dönüş değeri görünürlüğü, false ise görünmezliği belirtir. Bu işlev eş zamanlılık için güvenlidir. Örneğin, Sheet1 adlı çalışma sayfasındaki D sütununun görünürlüğünü almak için:

gorunur, err := f.SutunGorunurlugunuAl("Sheet1", "D")

Sütun Genişliğini Al

func (f *Dosya) SutunGenisliginiAl(sayfa, sutun string) (float64, error)

Belirtilen çalışma sayfası adı ve sütun adına göre çalışma sayfasındaki belirtilen sütunun genişliğini alır. Bu işlev eş zamanlılık için güvenlidir.

Satır Yüksekliğini Al

func (f *Dosya) SatirYuksekliginiAl(sayfa string, satir int) (float64, error)

Verilen çalışma sayfası adı ve satır numarasına göre çalışma sayfasındaki belirtilen satırın yüksekliğini alır. Örneğin, Sheet1 adlı çalışma sayfasındaki ilk satırın yüksekliğini almak için:

yukseklik, err := f.SatirYuksekliginiAl("Sheet1", 1)

Satır Görünürlüğünü Al

func (f *Dosya) SatirGorunurlugunuAl(sayfa string, satir int) (bool, error)

Belirtilen çalışma sayfası adı ve satır numarasına göre çalışma sayfasındaki belirtilen satırın görünürlüğünü alır. Örneğin, Sheet1 adlı çalışma sayfasındaki ikinci satırın görünürlüğünü almak için:

gorunur, err := f.SatirGorunurlugunuAl("Sheet1", 2)

Çalışma sayfasının indeksini al

func (f *Dosya) SayfaIndeksiniAl(sayfa string) (int, error)

Adına göre verilen çalışma sayfasının indeksini alır. Eğer çalışma sayfası mevcut değilse, -1 döndürülür. Elde edilen indeks, çalışma kitabının varsayılan çalışma sayfasını ayarlamak için SetActiveSheet() işlevini çağırırken parametre olarak kullanılabilir.

Çalışma sayfalarının eşlemesini alın

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

Çalışma kitabındaki tüm çalışma sayfalarının, grafik sayfalarının ve iletişim sayfalarının ID ve adı ile temsil edilen eşlemesini alın.

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

Çalışma sayfalarının listesini alın

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

Çalışma kitabında göründükleri sırayla, çalışma sayfalarının, grafik sayfalarının ve iletişim sayfalarının listesini alın.

Bir çalışma sayfasının adını ayarlayın

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

Verilen eski ve yeni çalışma sayfası adlarına göre çalışma sayfasının adını değiştirin. Çalışma sayfası adı 31 karaktere kadar kullanılabilir. Bu işlev, yalnızca çalışma sayfasının adını değiştirir ve hücrelerle ilişkili formülleri veya çalışma sayfası adlarıyla ilgili güncelleme yapmaz. Bu nedenle bir çalışma sayfasının adını değiştirmek için bu işlevi kullanmak, formül hatalarına veya başvurularla ilgili sorunlara neden olabilir.

Sütunları ekle

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

Verilen çalışma sayfası adı, sütun adı ve eklenecek sütun sayısına göre belirtilen sütundan önce boş sütunlar ekleyin. Örneğin, "Sheet1" adlı çalışma sayfasındaki "C" sütunundan önce 2 boş sütun ekleyin:

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

Satırları ekle

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

Verilen çalışma sayfası adı, satır numarası ve eklenecek satır sayısına göre belirtilen satırdan önce boş satırlar ekleyin. Örneğin, "Sheet1" adlı çalışma sayfasındaki 3. satırdan önce 2 boş satır ekleyin:

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

Satırları kopyalayın ve ekleyin

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

Verilen çalışma sayfası adına ve satır numarasına göre belirtilen satırın hemen arkasına bir kopya ekleyin. Örneğin, "Sheet1" adlı çalışma sayfasındaki 2. satırın kopyasını 3. satıra ekleyin:

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

Bu yöntemi kullanırken dikkatli olun, çünkü bu, çalışma sayfasındaki orijinal formüller, grafikler ve diğer kaynak referansları üzerindeki tüm değişiklikleri etkiler. Eğer çalışma sayfasında herhangi bir referans değeri varsa, bu yöntemi kullandıktan sonra bir Excel uygulamasını kullanarak açmak dosya hatalarına yol açabilir. Şu anda excelize yalnızca çalışma sayfasındaki kısmi referansların güncellenmesini desteklemektedir.

Satırı çoğaltın

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

Verilen çalışma sayfası adı ve satır numarasına göre belirtilen satırdan sonra bir satırı çoğaltın. Örneğin, "Sheet1" adlı çalışma sayfasındaki ikinci satırı yedinci satırın hemen sonra çoğaltın:

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

Lütfen bu yöntemi dikkatli kullanın, çünkü bu, çalışma sayfasındaki orijinal formüller, grafikler ve diğer kaynak referansları üzerindeki tüm değişiklikleri etkiler. Eğer çalışma sayfası herhangi bir referans değerleri içeriyorsa, bu yöntemi kullandıktan sonra bir Excel uygulamasını kullanarak açmak dosya hatalarına neden olabilir. Excel şu anda yalnızca çalışma sayfasındaki kısmi referansların güncellenmesini desteklemektedir.

Satırın Dış Çizgi Düzeyini Ayarlayın

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

Verilen çalışma sayfası adı, satır numarası ve dış çizgi düzeyi parametresine göre bir grup oluşturun. Örneğin, "Sheet1" adlı çalışma sayfasının ikinci satırında 1. seviye bir grup oluşturun. Satır Dış Çizgi Düzeyini Ayarla

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

Sütun Anahat Seviyesini Ayarla

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

Verilen sayfa adı, sütun adı ve anahat seviyesi parametresine dayalı olarak bir grup oluşturun. Örneğin, Sheet1 adındaki çalışma tablosunun D sütununda 2. seviyede bir grup oluşturun.

Sütun Anahat Seviyesini Ayarla

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

Satır Anahat Seviyesini Al

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

Verilen sayfa adı ve satır numarasına göre anahat seviyesini alın. Örneğin, Sheet1 adındaki çalışma tablosunun ikinci satırının anahat seviyesini alın.

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

Sütun Anahat Seviyesini Al

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

Verilen sayfa adı ve sütun adına göre anahat seviyesini alın. Örneğin, Sheet1 adındaki çalışma tablosunun D sütununun anahat seviyesini alın.

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

Sütun İteratörü

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

Verilen sayfa adına göre belirtilen çalışma tablosunun sütun iteratörünü alın. Bu işlev aynı anda güvenlidir. Akışlı okuma ve hücre dolaşımı için sütun iteratörünü kullanın:

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

Sütun İteratörü - Tek Sütun Değerlerini Al

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

Mevcut sütundaki tüm satırların değerlerini döndürür.

Sütun İteratörü - Dolaşım İşlemi

func (cols *Cols) Next() bool

Bir sonraki sütunda değer varsa true değerini döndürür.

Sütun İteratörü - Hata İşleme

func (cols *Cols) Error() error

Bir sonraki sütun aranırken bir hata oluştuğunda bir hata döndürür.

Satır İteratörü

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

Verilen sayfa adının satır iteratörünü alın. Bu işlev aynı anda güvenlidir. Akışlı okuma için satır iteratörünü kullanın:

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

Satır İteratörü - Tek Satır İşlemi

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

Bu işlev, çalışma sayfasındaki satırı satır okurken, mevcut satırdaki her hücrenin değerini atlayarak bitişik boş satırları döndürür.

Satır İteratörü - Dolaşım İşlemi

func (rows *Rows) Next() bool

Bir sonraki satırda bir değer varsa true değerini döndürür.

Satır İteratörü - Hata İşleme

func (rows *Rows) Error() error

Bir sonraki satır aranırken bir hata oluştuğunda bir error döndürür.

Satır İteratörü - Satır Özelliklerini Oku

func (rows *Rows) GetRowOpts() RowOpts

Mevcut satırın yüksekliği, görünürlüğü ve stili gibi satır özelliklerini döndürür.

Satır İteratörü - Veri Akışını Kapat

func (rows *Rows) Close() error

Veri akışını kapatır ve çalışma sayfasını açılırken oluşturulmuş herhangi bir sistem diski önbelleğini temizler.

Çalışma Sayfasında Arama

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

Verilen çalışma sayfası adına, hücre değeri veya düzenli ifadeye dayalı koordinatları alın. Bu işlev yalnızca dize ve sayıların tam eşleşmelerini destekler, hesaplanmış sonuçları, biçimlendirilmiş sayıları ve koşullu aramaları desteklemez. Arama sonucu birleştirilmiş bir hücre ise, birleştirilmiş alanın sol üst köşesinin koordinatları döndürülür.

Örneğin, "Sheet1" adlı çalışma sayfasında "100" değerinin koordinatlarını arayın:

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

Örneğin, "Sheet1" adlı çalışma sayfasında "0-9" aralığındaki sayısal değerlerin koordinatlarını arayın:

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

Çalışma Sayfasını Koruma

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

Diğer kullanıcıların veriyi kazara veya kasıtlı olarak değiştirmesini, taşımasını veya silmesini önle. Opsiyonel alan "AlgorithmName", XOR, MD4, MD5, SHA-1, SHA-256, SHA-384 veya SHA-512 kripto algoritmasını belirtmeyi destekler. Kripto algoritması belirtilmezse, varsayılan olarak XOR algoritması kullanılacaktır. Örneğin, "Sheet1" adlı çalışma sayfası için bir parola koruması ayarlayın ancak kilitli hücre seçimine, kilitsiz hücre seçimine ve düzenleme senaryolarına izin verin:

Çalışma Sayfasını Koruma

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

SheetProtectionOptions, çalışma sayfasını koruma ayarları seçeneklerini tanımlar.

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
}

Çalışma Sayfasını Korumayı Kaldırma

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

Verilen çalışma sayfası adına göre çalışma sayfasını korumayı kaldırın ve şifre doğrulama ile çalışma sayfası korumasını iptal etmek için ikinci opsiyonel şifre parametresini belirtin.

Sütun Kaldırma

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

Verilen çalışma sayfası adına ve sütun adına göre belirtilen sütunu kaldırın. Örneğin, "Sheet1" adlı çalışma sayfasında "C" sütununu kaldırın:

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

Lütfen bu yöntemi dikkatli kullanın, çünkü bu, çalışma sayfasındaki orijinal formül, grafik ve diğer kaynak referanslarındaki tüm değişiklikleri etkileyecektir. Eğer çalışma sayfası herhangi bir referans değeri içeriyorsa, bu yöntemi kullanmak, kullanımdan sonra Excel uygulaması ile açıldığında dosya hatalarına neden olabilir. Excelize şu anda, çalışma sayfasındaki referans değerlerine kısmi güncellemeleri desteklemektedir.

Satır Kaldırma

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

Verilen çalışma sayfası adına ve satır numarasına göre belirtilen satırı kaldırın. Örneğin, "Sheet1" adlı çalışma sayfasında 3. satırı kaldırın:

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

Lütfen bu yöntemi dikkatli kullanın, çünkü bu, çalışma sayfasındaki orijinal formül, grafik ve diğer kaynak referanslarındaki tüm değişiklikleri etkileyecektir. Eğer çalışma sayfası herhangi bir referans değeri içeriyorsa, bu yöntemi kullanmak, kullanımdan sonra Excel uygulaması ile açıldığında dosya hatalarına neden olabilir. Excelize şu anda, çalışma sayfasındaki referans değerlerine kısmi güncellemeleri desteklemektedir.

Sütuna Göre Değer Atama

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

Verilen çalışma sayfası adına, başlangıç koordinatları ve "dize" türündeki referans ile sütuna göre değer atama. Örneğin, "Sheet1" adlı çalışma sayfasının "B" sütununa, başlangıç koordinatı olarak "B6" hücresine değer atayın:

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

Satıra göre Atama

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

Belirtilen çalışma sayfası adına, başlangıç koordinatlarına ve slice tipine başvuruya dayanarak satır bazında değer atar. Bu işlev eşzamanlı kullanıma uygundur. Örneğin, "Sheet1" adlı çalışma sayfasının 6. satırında, hücre "B6"dan başlayarak satır bazında değerler atayabilirsiniz:

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

Sayfa Sonu Ekleme

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

Belirtilen çalışma sayfası adına ve hücre koordinatlarına dayanarak bir sayfa sonu ekler. Sayfa sonları, çalışmayı yazdırma amaçlarına yönelik olarak çalışma sayfasını bireysel sayfalara ayıran ayrım çizgileridir.

Sayfa Sonu Kaldırma

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

Belirtilen çalışma sayfası adına ve hücre koordinatlarına dayanarak bir sayfa sonu kaldırır.

Çalışma Sayfası Boyutunu Ayarlama

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

Belirtilen çalışma sayfası adına ve hücre koordinatları veya hücre koordinat aralığına dayanarak çalışma sayfasının kullanılan alanını ayarlar veya kaldırır. Kullanılan hücreler, formüllü hücreler, metin içeriği ve hücre biçimlendirmesi gibi hücreleri içerir, örneğin A1:D5. Verilen hücre koordinat aralığı boş bir dize ise, çalışma sayfasının kullanılan alanını kaldıracaktır.

Çalışma Sayfası Boyutunu Alma

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

Verilen çalışma sayfasının kullanılan alanını alır.