Çalışma Kitabı

Options, elektronik tabloların okunması ve yazılması için seçenekleri tanımlar.

type Options struct {
    MaxCalcIterations uint
    Password          string
    RawCellValue      bool
    UnzipSizeLimit    int64
    UnzipXMLSizeLimit int64
    ShortDatePattern  string
    LongDatePattern   string
    LongTimePattern   string
    CultureInfo       CultureName
}

MaxCalcIterations, formüller hesaplanırken maksimum iterasyon sayısını belirtmek için kullanılır ve varsayılan değeri 0'dır.

Password, çalışma kitabını açarken ve kaydederken kullanılan şifreyi belirtmek için kullanılır, varsayılan değeri boştur.

RawCellValue, hücre değerlerini okurken ham değeri alıp almayacağını belirtmek için kullanılır, varsayılan değeri false'dur (sayı formatı uygulanmıştır).

UnzipSizeLimit, bir elektronik tablo belgesini açarken sıkıştırmanın boyut sınırını belirtmek için kullanılır ve varsayılan sınır 16GB'dır.

UnzipXMLSizeLimit, her çalışma sayfasını ve paylaşılan dize tablosunu açarken bellek sınırını belirtmek için kullanılır ve bu değer aşıldığında çalışma sayfası XML dosyası sistem geçici dizine sıkıştırılır. Bu değer, UnzipSizeLimit'ten küçük veya eşit olmalıdır ve varsayılan sınır 16MB'dir.

ShortDatePattern, kısa tarih sayısal format kodunu belirtmek için kullanılır.

LongDatePattern, uzun tarih sayısal format kodunu belirtmek için kullanılır.

LongTimePattern, uzun zaman sayısal format kodunu belirtmek için kullanılır.

CultureInfo, bölgesel formatı belirtmek için kullanılır ve bölgesel özgü tarih ve saat ayarlarından etkilenen sayısal formatları okurken kullanılacaktır.

Oluştur

func NewFile(opts ...Options) *File

Yeni bir Excel çalışma kitabı oluşturmak için NewFile kullanın. Varsayılan olarak Sheet1 adında bir çalışma sayfası içerecektir.

func OpenFile(filename string, opts ...Options) (*File, error)

Mevcut bir Excel belgesini açmak için OpenFile kullanın. Örneğin, şifre korumalı bir elektronik tablo belgesini açın:

f, err := excelize.OpenFile("Book1.xlsx", excelize.Options{Password: "şifre"})
if err != nil {
    return
}

Açılan çalışma kitabını kapatmak için Close() kullanın.

Veri Akışını Aç

func OpenReader(r io.Reader, opts ...Options) (*File, error)

OpenReader, io.Reader'dan veri okur.

Aşağıdaki örnekte, yüklenen elektronik tablo belgelerini almak için basit bir HTTP sunucusu oluşturuyoruz, alınan belgeye yeni bir çalışma sayfası ekliyoruz ve bir indirme yanıtı döndürüyoruz:

package main

import (
    "fmt"
    "net/http"

    "github.com/xuri/excelize/v2"
)

func process(w http.ResponseWriter, req *http.Request) {
    file, _, err := req.FormFile("file")
    if err != nil {
        fmt.Fprint(w, err.Error())
        return
    }
    defer file.Close()
    f, err := excelize.OpenReader(file)
    if err != nil {
        fmt.Fprint(w, err.Error())
        return
    }
    f.Path = "Book1.xlsx"
    f.NewSheet("YeniSayfa")
    w.Header().Set("Content-Disposition", fmt.Sprintf("attachment; filename=%s", f.Path))
    w.Header().Set("Content-Type", req.Header.Get("Content-Type"))
    if err := f.Write(w); err != nil {
        fmt.Fprint(w, err.Error())
    }
}

func main() {
    http.HandleFunc("/process", process)
    http.ListenAndServe(":8090", nil)
}

cURL kullanarak test etme:

curl --location --request GET 'http://127.0.0.1:8090/process' \
--form 'file=@/tmp/template.xltx' -O -J

Kaydet

func (f *File) Save(opts ...Options) error

Düzenlemeleri bir Excel belgesine kaydetmek için Save kullanın.

Farklı Kaydet

func (f *File) SaveAs(name string, opts ...Options) error

Excel belgesini belirtilen bir dosya olarak kaydetmek için SaveAs kullanın.

Çalışma Kitabını Kapat

func (f *File) Close() error

Belgeyi kapatır ve açılırken oluşturulmuş olan herhangi bir sistem disk önbelleğini temizler.

Yeni Çalışma Sayfası

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

Verilen çalışma sayfası adına göre yeni bir çalışma sayfası oluşturur ve çalışma kitabındaki çalışma sayfasının dizinini döndürür. Lütfen unutmayın ki yeni bir çalışma kitabı oluşturulduğunda içinde varsayılan olarak Sheet1 adında bir çalışma sayfası bulunacaktır.

Çalışma Sayfasını Sil

func (f *File) DeleteSheet(sheet string) error

Verilen çalışma sayfası adına göre belirtilen çalışma sayfasını siler. Bu yöntemi dikkatli kullanın çünkü silinen çalışma sayfasıyla ilişkili formüller, referanslar, grafikler ve diğer unsurları etkiler. Diğer bileşenler silinen çalışma sayfasındaki değerlere referans veriyorsa bir hata uyarısı alınır ve hatta çalışma kitabının açılamamasına neden olabilir. Yalnızca çalışma kitabı yalnızca bir çalışma sayfası içeriyorsa bu yöntemi çağırmak geçersizdir.

Çalışma Sayfasını Kopyala

func (f *File) CopySheet(from, to int) error

Verilen kaynak çalışma sayfası ve hedef çalışma sayfası dizinine göre çalışma sayfasını kopyalar. Geliştirici, hedef çalışma sayfası dizininin zaten mevcut olup olmadığını doğrulamalıdır. Şu anda, yalnızca hücre değerleri ve formülleri içeren çalışma sayfalarının kopyalanmasını destekler; tablolar, resimler, grafikler ve özet tablolar içeren çalışma sayfalarının kopyalanmasını desteklemez.

// Sheet1 adında bir çalışma sayfası zaten mevcut ...
index, err := f.NewSheet("Sheet2")
if err != nil {
    fmt.Println(err)
    return
}
err := f.CopySheet(1, index)

Çalışma Sayfalarını Gruplandır

func (f *File) GroupSheets(sheets []string) error

Verilen çalışma sayfası adlarına göre çalışma sayfalarını gruplar; verilen çalışma sayfaları arasında varsayılan çalışma sayfası olmalıdır.

Çalışma Sayfalarını Gruplama

func (f *File) UngroupSheets() error

Çalışma sayfalarını gruplamayı kaldırır.

Çalışma Sayfası Arka Plan Resmini Ayarla

func (f *File) SetSheetBackground(sheet, picture string) error

Verilen çalışma sayfası adına ve resim dosyası yoluna göre belirtilen çalışma sayfası için döşeli arka plan resmini ayarlar. Desteklenen resim dosyası formatları şunları içerir: BMP, EMF, EMZ, GIF, JPEG, JPG, PNG, SVG, TIF, TIFF, WMF ve WMZ.

func (f *File) SetSheetBackgroundFromBytes(sheet, extension string, picture []byte) error

Verilen çalışma sayfası adına, resim formatı uzantısına ve resim formatı verilerine göre belirtilen çalışma sayfası için döşeli arka plan resmini ayarlar. Desteklenen resim dosyası formatları şunları içerir: BMP, EMF, EMZ, GIF, JPEG, JPG, PNG, SVG, TIF, TIFF, WMF ve WMZ.

Varsayılan Çalışma Sayfasını Ayarla

func (f *File) SetActiveSheet(index int)

Verilen dizin değerine göre varsayılan çalışma sayfasını ayarlar; değer 0'dan büyük veya eşit olmalı ve çalışma kitabındaki çalışma sayfalarının toplam sayısından küçük olmalıdır.

Varsayılan Çalışma Sayfası Dizinini Al

func (f *File) GetActiveSheetIndex() int

Varsayılan çalışma sayfasının dizinini alır; varsayılan çalışma sayfası bulunamadığında 0 döndürür.

Çalışma Sayfası Görünürlüğünü Ayarla

func (f *File) SetSheetVisible(sheet string, visible bool, veryHidden ...bool) error

Verilen çalışma sayfası adına ve görünürlük parametresine göre çalışma sayfasının görünürlüğünü ayarlar. Bir çalışma kitabı en az bir görünür çalışma sayfası içermelidir. Verilen çalışma sayfası varsayılan çalışma sayfası ise görünürlük ayarı geçersizdir. Üçüncü opsiyonel parametre olan veryHidden, visible parametresi false olduğunda yalnızca geçerlidir.

Örneğin, Sheet1 adlı çalışma sayfasını gizlemek için:

err := f.SetSheetVisible("Sheet1", false)

Çalışma Sayfası Görünürlüğünü Al

func (f *File) GetSheetVisible(sheet string) (bool, error)

Verilen çalışma sayfası adına göre çalışma sayfasının görünürlük ayarını alır. Örneğin, Sheet1 adlı çalışma sayfasının görünürlük ayarını almak için:

visible, err := f.GetSheetVisible("Sheet1")

Sayfa Özelliklerini Ayarla

func (f *File) SetSheetProps(sheet string, opts *SheetPropsOptions) error

Belirtilen çalışma sayfasının özelliklerini, verilen çalışma sayfası adı ve özellik seçeneklerine dayanarak ayarlar. Desteklenen çalışma sayfası özellik seçenekleri aşağıdaki gibidir:

Özellik Tür Açıklama
CodeName *string Kod adı
EnableFormatConditionsCalculation *bool Koşullu biçimlendirme otomatik olarak hesaplanıp hesaplanmayacağını belirtin, varsayılan değeri true olarak belirtilir
Published *bool Çalışma sayfasının yayınlanıp yayınlanmayacağını belirtin, varsayılan değeri true olarak belirtilir
AutoPageBreaks *bool Çalışma sayfasının sayfaları otomatik olarak bölmeyi belirtin, varsayılan değeri true olarak belirtilir
FitToPage *bool Sayfaya sığdırmayı etkinleştirmeyi belirtin, varsayılan değeri false olarak belirtilir
TabColorIndexed *int Geriye uyumlu dizinlenmiş renk değeri için kullanılır
TabColorRGB *string Standart ARGB renk değeri
TabColorTheme *int 0'dan başlayarak tema renk indeksi
TabColorTint *float64 Renge uygulanan tonlama değeri, varsayılan değeri 0.0 olarak belirtilir
OutlineSummaryBelow *bool Özetlemenin yönünü, detay verilerinin altında olup olmayacağını belirtin, varsayılan değeri true olarak belirtilir
OutlineSummaryRight *bool Özetlemenin yönünü, detay verilerinin sağına olup olmayacağını belirtin, varsayılan değeri true olarak belirtilir
BaseColWidth *uint8 Karakter sayısında temsil edilen temel sütun genişliği, varsayılan değeri 8 olarak belirtilir
DefaultColWidth *float64 Kenar boşluklarını ve ızgaraları içeren varsayılan sütun genişliği
DefaultRowHeight *float64 Noktalarda temsil edilen satır yüksekliği
CustomHeight *bool Özel satır yüksekliğinin uygulanıp uygulanmadığını belirtin, varsayılan değeri false olarak belirtilir
ZeroHeight *bool Satırların varsayılan olarak gizlenip gizlenmediğini belirtin, varsayılan değeri false olarak belirtilir
ThickTop *bool Satırların varsayılan olarak üst kalın kenar çizgisine sahip olup olmadığını belirtin, varsayılan değeri false olarak belirtilir
ThickBottom *bool Satırların varsayılan olarak alt kalın kenar çizgisine sahip olup olmadığını belirtin, varsayılan değeri false olarak belirtilir

Örneğin, Sheet1 adındaki çalışma sayfasının varsayılan satırının gizli olarak ayarlanması:

Sayfa özelliklerini ayarla

f, enable := excelize.NewFile(), true
if err := f.SetSheetProps("Sheet1", &excelize.SheetPropsOptions{
    ZeroHeight: &enable,
}); err != nil {
    fmt.Println(err)
}
if err := f.SetRowVisible("Sheet1", 10, true); err != nil {
    fmt.Println(err)
}
f.SaveAs("Kitap1.xlsx")

Sayfa Özelliklerini Al

func (f *File) GetSheetProps(sheet string) (SheetPropsOptions, error)

Verilen çalışma sayfası adına dayanarak belirtilen çalışma sayfasının özelliklerini alır.

Sayfa Görünümü Özelliklerini Ayarlayın

func (f *File) SetSheetView(sheet string, viewIndex int, opts *ViewOptions) error

Verilen sayfa adı, görünüm indeksi ve görünüm seçeneklerine göre sayfa görünüm özelliklerini ayarlar. viewIndex, negatif bir sayı olabilir, bu durumda geriye doğru sayılama yapılacaktır (-1 son görünümü temsil eder). Sayfa görünüm özelliklerini ayarlama için desteklenen seçenekler aşağıdaki gibidir:

Özellik Tip Açıklama
DefaultGridColor *bool Varsayılan ızgara çizgisi renginin kullanılıp kullanılmayacağını belirtir, varsayılan değer true
RightToLeft *bool Sağdan sola doğru görüntülenip görüntülenmeyeceğini belirtir, varsayılan değer false
ShowFormulas *bool Çalışma sayfasının formülleri gösterip göstermeyeceğini belirtir, varsayılan değer false
ShowGridLines *bool Çalışma sayfasının ızgara çizgilerini gösterip göstermeyeceğini belirtir, varsayılan değer true
ShowRowColHeaders *bool Çalışma sayfasının satır ve sütun başlıklarını gösterip göstermeyeceğini belirtir, varsayılan değer true
ShowRuler *bool Sayfa düzeni görünümünde cetvelin gösterilip gösterilmeyeceğini belirtir, varsayılan değer true
ShowZeros *bool Hücrelerde sıfır değerlerinin gösterilip gösterilmeyeceğini belirtir, varsayılan değer true, aksi takdirde boş olarak gösterilir
TopLeftCell *string Görünür sol üst hücrenin koordinatını belirtir
View *string Çalışma sayfası görünüm türünü belirtir, enum değerleri normal, sayfaAraziÖnizlemesi ve sayfaDüzeni
ZoomScale *float64 Mevcut görünüm penceresi yakınlaştırma ölçeği yüzdesini belirtir, 10 ile 400 arasında sınırlıdır, varsayılan değer 100

Sayfa Görünümü Özelliklerini Alın

func (f *File) GetSheetView(sheet string, viewIndex int) (ViewOptions, error)

Verilen sayfa adı ve görünüm indeksi temel alınarak sayfa görünüm özelliklerini alır. viewIndex, negatif bir sayı olabilir, bu durumda geriye doğru sayılama yapılacaktır (-1 son görünümü temsil eder).

Çalışma Sayfası Düzeni Ayarla

func (f *File) SetPageLayout(sheet string, opts *PageLayoutOptions) error

Verilen çalışma sayfası adı ve sayfa düzeni parametrelerine göre çalışma sayfasının sayfa düzeni özelliklerini ayarlar. Şu anda desteklenen sayfa düzeni özellikleri şunları içerir:

Size özelliği, varsayılan sayfa düzeni boyutunun "Mektup 8½ × 11 inç" olduğu sayfa kağıdı boyutunu belirtmek için kullanılır. Aşağıdaki tablo, sayfa düzeni boyutları ile Excelize'daki endeks Size parametresi arasındaki ilişkiyi gösterir:

Endeks Kağıt Boyutu
1 Mektup 8½ × 11 inç
2 Küçük mektup 8½ × 11 inç
3 Tabloid 11 × 17 inç
4 Defter 17 × 11 inç
... ...
40 Alman Standart Abanma 8.5 × 12 inç
41 Alman yasal kağıt abanması 8.5 × 13 inç
42 ISO B4 250 × 353 mm
43 Japon postası 100 × 148 mm
44 Standart kağıt 9 × 11 inç
45 Standart kağıt 10 × 11 inç
46 Standart kağıt 15 × 11 inç
47 Davetiye mektubu 220 × 220 mm
50 Başlıklı mektup büyütülmüş 9.275 × 12 inç
51 Ekstra büyük yasal kağıt 9.275 × 15 inç
52 Tabloid ekstra kağıt 11.69 × 18 inç
53 A4 ekstra büyük 236 × 322 mm
54 Başlıklı mektup manzaralı 8.275 × 11 inç
55 A4 manzara 210 × 297 mm
56 Başlıklı ekstra büyük manzara 9.275 × 12 inç
57 SüperA/SuperA/A4 kağıdı 227 × 356 mm
58 SüperB/SuperB/A3 kağıdı 305 × 487 mm
59 Başlıklı büyütülmüş 8.5 × 12.69 inç
60 A4 büyütülmüş 210 × 330 mm
61 A5 manzara 148 × 210 mm
62 JIS B5 manzara 182 × 257 mm
63 A3 ekstra büyük 322 × 445 mm
64 A5 ekstra büyük 174 × 235 mm
65 ISO B5 ekstra büyük 201 × 276 mm
66 A2 420 × 594 mm
67 A3 manzara 297 × 420 mm
68 A3 ekstra büyük manzara 322 × 445 mm
69 Çift Japon postası 200 × 148 mm
70 A6 105 × 148 mm
71 Japon zarfı Kaku #2
72 Japon zarfı Kaku #3
73 Japon zarfı Chou #3
74 Japon zarfı Chou #4
75 Başlıklı manzara 11 × 8½ inç
76 A3 manzara 420 × 297 mm
77 A4 manzara 297 × 210 mm
78 A5 manzara 210 × 148 mm
79 B4 (JIS) manzara 364 × 257 mm
80 B5 (JIS) manzara 257 × 182 mm
81 Japon postası manzara 148 × 100 mm
82 Çift Japon postası manzara 148 × 200 mm
83 A6 manzara 148 × 105 mm
84 Japon zarfı Kaku #2 manzara
85 Japon zarfı Kaku #3 manzara
86 Japon zarfı Chou #3 manzara
| 87 | Japon Zarf Chou #4 Manzara |
| 88 | B6 (JIS) 128 × 182 mm |
| 89 | B6 (JIS) Manzara 182 × 128 mm |
| 90 | 12 × 11 inç |
| 91 | Japon Zarf You #4 |
| 92 | Japon Zarf You #4 Manzara |
| 93 | Çince 16K 146 × 215 mm |
| 94 | Çince 32K 97 × 151 mm |
| 95 | Çince Büyük 32K 97 × 151 mm |
| 96 | Çince Zarf #1 102 × 165 mm |
| 97 | Çince Zarf #2 102 × 176 mm |
| 98 | Çince Zarf #3 125 × 176 mm |
| 99 | Çince Zarf #4 110 × 208 mm |
| 100 | Çince Zarf #5 110 × 220 mm |
| 101 | Çince Zarf #6 120 × 230 mm |
| 102 | Çince Zarf #7 160 × 230 mm |
| 103 | Çince Zarf #8 120 × 309 mm |
| 104 | Çince Zarf #9 229 × 324 mm |
| 105 | Çince Zarf #10 324 × 458 mm |
| 106 | Çince 16K Manzara |
| 107 | Çince 32K Manzara |
| 108 | Çince Büyük 32K Manzara |
| 109 | Çince Zarf #1 Manzara 165 × 102 mm |
| 110 | Çince Zarf #2 Manzara 176 × 102 mm |
| 111 | Çince Zarf #3 Manzara 176 × 125 mm |
| 112 | Çince Zarf #4 Manzara 208 × 110 mm |
| 113 | Çince Zarf #5 Manzara 220 × 110 mm |
| 114 | Çince Zarf #6 Manzara 230 × 120 mm |
| 115 | Çince Zarf #7 Manzara 230 × 160 mm |
| 116 | Çince Zarf #8 Manzara 309 × 120 mm |
| 117 | Çince Zarf #9 Manzara 324 × 229 mm |
| 118 | Çince Zarf #10 Manzara 458 × 324 mm |

`Orientation` özelliği, sayfa düzeni yönünü belirtmek için kullanılır, varsayılan sayfa düzeni yönü "dik"tir ve isteğe bağlı değerler `dik` ve `manzara`dır.

`FirstPageNumber` özelliği, başlangıç sayı numarasını belirtmek için kullanılır, varsayılan otomatiktir.

`AdjustTo` özelliği, sayfa ölçekleme oranını belirtmek için kullanılır, 10 ila 400 arasında bir aralığa sahiptir, yani, %10 ila %400 arasında ölçeklendirme yapar ve normal boyut için varsayılan değer `100` dur. `FitToHeight` veya `FitToWidth` ayarı bu özelliği geçersiz kılar.

`FitToHeight` özelliği, sayfa genişliğini ayarlamak için sayfa ölçeklemesini belirtmek için kullanılır, varsayılan değeri `1`dir.

`FitToWidth` özelliği, sayfa yüksekliğini ayarlamak için sayfa ölçeklemesini belirtmek için kullanılır, varsayılan değeri `1`dir.

`BlackAndWhite` özelliği, tek renkli baskıyı belirtmek için kullanılır, varsayılan kapalıdır.
f := excelize.NewFile()
var (
    size                 = 10
    orientation          = "landscape"
    firstPageNumber uint = 2
    adjustTo        uint = 100
    fitToHeight          = 2
    fitToWidth           = 2
    blackAndWhite        = true
)
if err := f.SetPageLayout("Sheet1", &excelize.PageLayoutOptions{
    Size:            &size,
    Orientation:     &orientation,
    FirstPageNumber: &firstPageNumber,
    AdjustTo:        &adjustTo,
    FitToHeight:     &fitToHeight,
    FitToWidth:      &fitToWidth,
    BlackAndWhite:   &blackAndWhite,
}); err != nil {
    fmt.Println(err)
}

Çalışma Sayfası Düzenini Al

func (f *File) GetPageLayout(sheet string) (PageLayoutOptions, error)

Verilen çalışma sayfası adı ve sayfa düzeni parametreleri üzerine çalışma sayfasının sayfa düzeni özelliklerini alın.

Çalışma Sayfası Kenar Boşluklarını Ayarla

func (f *File) SetPageMargins(sheet string, opts *PageLayoutMarginsOptions) error

Verilen çalışma sayfası adı ve kenar boşluğu parametrelerine göre çalışma sayfasının kenar boşluklarını ayarlayın. Desteklenen kenar boşluğu seçenekleri şunlardır:

Seçenek Tür Açıklama
Alt *float64 Alt kenar boşluğu
Alt Bilgi *float64 Alt bilgi kenar boşluğu
Üst Bilgi *float64 Üst bilgi kenar boşluğu
Sol *float64 Sol kenar boşluğu
Sağ *float64 Sağ kenar boşluğu
Üst *float64 Üst kenar boşluğu
Yatay *bool Sayfa yatayda merkezlenme
Dikey *bool Sayfa dikeyde merkezlenme

Çalışma Sayfası Kenar Boşluklarını Al

func (f *File) GetPageMargins(sheet string) (PageLayoutMarginsOptions, error)

Verilen çalışma sayfası adı ve kenar boşluğu parametreleri üzerine çalışma sayfasının kenar boşluklarını alın.

Çalışma Kitabı Özelliklerini Ayarla

func (f *File) SetWorkbookProps(opts *WorkbookPropsOptions) error

SetWorkbookProps, çalışma kitabının özelliklerini ayarlamak için kullanılır. Desteklenen çalışma kitabı özellikleri şunlardır:

Özellik Tür Açıklama
Date1904 *bool Çalışma kitabının 1904 tarih sistemini kullanıp kullanmadığını gösterir
FiltreGizliliği *bool Filtre gizliliği, uygulamanın çalışma kitabında kişisel bilgileri kontrol edip etmediğini belirtir
KodAdı *string Kod adı

Çalışma Kitabı Özelliklerini Al

func (f *File) GetWorkbookProps() (WorkbookPropsOptions, error)

GetWorkbookProps, çalışma kitabının özelliklerini almak için kullanılır.

Başlık ve Altbilgi Ayarlama

func (f *Dosya) SetBaslikAltbilgi(sayfa string, secenekler *BaslikAltbilgiSecenekleri) hata

Belirtilen çalışma sayfası adı ve kontrol karakterlerine göre çalışma sayfasının başlık ve altbilgisini ayarlar.

Başlık ve altbilgi aşağıdaki alanları içerir:

Alan Açıklama
Kenar Boşluklarıyla Hizala Başlık ve altbilgiyi sayfa kenar boşluklarıyla hizalar
Farklı İlk İlk sayfa için başlık ve altbilgiyi ayarlar
Farklı Tek Çift Tek ve çift sayfalar için başlık ve altbilgiyi ayarlar
Belgeyle Ölçekle Başlık ve altbilgiyi belgeyle ölçekler
Tek Altbilgi Tek sayfa altbilgisi, FarklıTekÇift değeri false olduğunda ilk sayfa için altbilgiyi ayarlamak için kullanılır
Tek Başlık Tek sayfa başlığı, FarklıTekÇift değeri false olduğunda ilk sayfa için başlığı ayarlamak için kullanılır
Çift Altbilgi Çift sayfa altbilgisi
Çift Başlık Çift sayfa başlığı
İlk Sayfa Altbilgisi İlk sayfa altbilgisi için kontrol karakteri
İlk Sayfa Başlığı İlk sayfa başlığı için kontrol karakteri

Aşağıdaki tablodaki format kodları, 6 adet dize tipi alan için kullanılabilir: TekBaşlık, TekAltbilgi, ÇiftBaşlık, ÇiftAltbilgi, İlkSayfaAltı ve İlkSayfaBaşlık

Format Kodu Açıklama
&& Karakter "&"
&font-boyutu Metin font boyutu, font boyutu nokta cinsinden ondalık bir değerdir
&"font adı,font tipi" Metin font adı dizesi, font adı ve metin font tipi dizesi, font tipi
&"-,Normal" Normal metin formatı. Kalın ve italik modları kapatır
&A Geçerli çalışma sayfası adı
&B veya &"-,Kalın" Kalın metin formatı, kapalı veya açık, varsayılan olarak kapalı
&D Geçerli tarih
&C Merkezi bölüm
&E Metin için çift altı çizgi
&F Geçerli çalışma kitabı dosya adı
&G Nesneyi arka plan olarak belirtir (şu anda desteklenmemektedir)
&H Metin gölgesi
&I veya &"-,İtalik" İtalik metin
&K RGB renk formatında font rengi, tema renkleri TTSNNN olarak belirtilir, burada TT tema renk kimliğidir, S ton veya tonu belirtir, "+" ve "-" ise ton değerini belirtir
&L Sol bölüm
&N Toplam sayfa sayısı
&O Metin dış çizgisi formatı
&P[[+\|-]n] İsteğe bağlı bir sonek yoksa, geçerli sayfa numarası (ondalık)
&R Sağ bölüm
&S Metin üzeri çizgi
&T Geçerli saat
&U Metine tek altı çizgi ekler. Varsayılan mod kapalıdır
&X Üstsimge formatı
&Y Altsimge formatı
&Z Geçerli çalışma kitabı dosya yolu

Örnek olarak:

hata := f.SetBaslikAltbilgi("Sayfa1", &excelize.BaslikAltbilgiSecenekleri{
    FarklıIlk:   true,
    FarklıTekÇift: true,
    TekBaşlık:        "&R&P",
    TekAltbilgi:        "&C&F",
    ÇiftBaşlık:       "&L&P",
    ÇiftAltbilgi:       "&L&D&R&T",
    İlkSayfaBaşlık:      `&COdak &"-,Kalın"Kalın&"-,Normal"BaşlıkU+000A&D`,
})

Yukarıdaki örnek aşağıdaki formatı içerir:

  • İlk sayfanın kendi başlık ve altbilgisi vardır
  • Tek ve çift sayfaların farklı başlık ve altbilgisi vardır
  • Tek sayfa başlık sağ kenarda mevcut sayfa numarasını içerir
  • Tek sayfa altbilgi orta bölümde geçerli çalışma kitabı dosya adını içerir
  • Çift sayfa başlık sol bölümde mevcut sayfa numarasını içerir
  • Çift sayfa altbilgi sol bölümde mevcut tarihi, sağ bölümde mevcut saati içerir
  • İlk sayfa merkez bölümündeki ilk satırın metni "Orta Kalın Başlık", ikinci satırda tarih bulunur
  • İlk sayfada altbilgi bulunmamaktadır

Adı Ayarla

func (f *File) SetDefinedName(definedName *DefinedName) error

Verilen adı ve varsayılan kapsamın çalışma kitabı olduğu varsayılan ad ve referans aralığını ayarlayın. Örneğin:

err := f.SetDefinedName(&excelize.DefinedName{
    Name:     "Miktar",
    RefersTo: "Sayfa1!$A$2:$D$5",
    Comment:  "tanımlanan ad yorumu",
    Scope:    "Sayfa2",
})

Çalışma sayfasının yazdırma alanını ve başlıklarını ayarlama:

Çalışma sayfasının yazdırma alanı ve başlıklarını ayarlama

if err := f.SetDefinedName(&excelize.DefinedName{
    Name:     "_xlnm.Print_Area",
    RefersTo: "Sayfa1!$A$1:$Z$100",
    Scope:    "Sayfa1",
}); err != nil {
    fmt.Println(err)
}
if err := f.SetDefinedName(&excelize.DefinedName{
    Name:     "_xlnm.Print_Titles",
    RefersTo: "Sayfa1!$A:$A,Sayfa1!$1:$1",
    Scope:    "Sayfa1",
}); err != nil {
    fmt.Println(err)
}

Adı Al

func (f *File) GetDefinedName() []DefinedName

Kapsam içindeki çalışma kitabı ve çalışma sayfasının adlarını alın.

Adı Sil

func (f *File) DeleteDefinedName(definedName *DefinedName) error

Verilen ad ve ad kapsamına dayalı olarak tanımlanan adı silin, varsayılan kapsamın çalışma kitabı olduğu. Örneğin:

err := f.DeleteDefinedName(&excelize.DefinedName{
    Name:     "Miktar",
    Scope:    "Sayfa2",
})

Çalışma Kitabı Uygulama Özelliklerini Ayarla

func (f *File) SetAppProps(appProperties *AppProperties) error

Çalışma kitabının uygulama özelliklerini ayarlayın. Ayarlanabilecek özellikler şunları içerir:

Özellik Açıklama
Uygulama Bu belgeyi oluşturan uygulamanın adı
ScaleCrop Belgenin küçük resminin görüntülenmesini belirtir. Belge küçük resmi ölçeklendirmek için true, ve kırpma için false olarak ayarlayın
DocSecurity Sayısal bir değer olarak temsil edilen belge güvenlik seviyesi
Şirket Belge ile ilişkili şirketin adı
BağlantılarGüncel Belgedeki bağlantıların güncel olup olmadığını belirler. Güncel bağlantılar için true, ve eski bağlantılar için false olarak ayarlayın
Bağlantılar Değiştirildi Bu bölümde belirtilen yeni bağlantıların bir sonraki belge açıldığında bağlantı ilişkilerini güncellemek için kullanılıp kullanılmayacağını belirtir
Uygulama Sürümü Bu belgeyi oluşturan uygulamanın sürümünü belirtir. Değer, XX.YYYY formatında olmalıdır, burada X ve Y sayısal değerlerdir, aksi takdirde dosya standarta uygun olmayacaktır

Örneğin:

err := f.SetAppProps(&excelize.AppProperties{
    Application:       "Microsoft Excel",
    ScaleCrop:         true,
    DocSecurity:       3,
    Company:           "Şirket Adı",
    LinksUpToDate:     true,
    HyperlinksChanged: true,
    AppVersion:        "16.0000",
})

Çalışma Kitabı Uygulama Özelliklerini Al

func (f *File) GetAppProps() (*AppProperties, error)

Çalışma kitabının uygulama özelliklerini alın.

Belge özelliklerini ayarla

func (f *File) SetDocProps(docProperties *DocProperties) error

Çalışma kitabının temel özelliklerini ayarlayın. Ayarlanabilen özellikler şunları içerir:

Özellik Açıklama
Kategori Belge içeriğinin kategorisi
İçerikDurumu Belge içeriğinin durumu. Örneğin, değerler "Taslak", "İncelenen" ve "Nihai" olabilir
Oluşturulma Belgenin oluşturulma zamanı, ISO 8601 UTC formatında temsil edilir, örneğin 2019-06-04T22:00:10Z
Oluşturan Belgeyi oluşturan kişi
Açıklama Kaynak içeriğinin açıklaması
Tanımlayıcı Belirli bir bağlamda kaynağa açık bir referans
Anahtar Kelimeler Belgenin anahtar kelimeleri
Dil Belge içeriğinin asıl dili
SonDeğiştiren Belgeyi son değiştiren kullanıcı
Değiştirilme Belgenin değiştirilme zamanı, ISO 8601 UTC formatında temsil edilir, örneğin 2019-06-04T22:00:10Z
Revizyon Belgenin revizyon sürümü
Konu Belgenin konusu
Başlık Belgenin başlığı
Versiyon Kullanıcı veya uygulama tarafından belirlenen sürüm numarası

Örneğin:

err := f.SetDocProps(&excelize.DocProperties{
    Category:       "kategori",
    ContentStatus:  "Taslak",
    Created:        "2019-06-04T22:00:10Z",
    Creator:        "Go Excelize",
    Description:    "Bu dosya Go Excelize tarafından oluşturuldu",
    Identifier:     "xlsx",
    Keywords:       "Çalışma Kitabı",
    LastModifiedBy: "Go Yazarı",
    Modified:       "2019-06-04T22:00:10Z",
    Revision:       "0",
    Subject:        "Test Konu",
    Title:          "Test Başlık",
    Language:       "tr-TR",
    Version:        "1.0.0",
})

Belge özelliklerini al

func (f *File) GetDocProps() (*DocProperties, error)

Çalışma kitabının temel özelliklerini alın.

Çalışma kitabını koru

func (f *File) ProtectWorkbook(opts *WorkbookProtectionOptions) error

Diğer kullanıcıların gizli çalışma sayfalarını görüntülemesini, çalışma sayfalarını eklemesini, taşımasını veya gizlemesini ve çalışma sayfalarını yeniden adlandırmasını önlemek için çalışma kitabının yapısını bir şifre ile koruyun. AlgorithmName alanı XOR, MD4, MD5, SHA-1, SHA-256, SHA-384 veya SHA-512 hash algoritmalarını belirtmeyi destekler. Herhangi bir hash algoritması belirtilmemişse varsayılan olarak XOR algoritması kullanılır. Örneğin, çalışma kitabının yapısını bir şifre ile koruma:

err := f.ProtectWorkbook(&excelize.WorkbookProtectionOptions{
    Password:      "şifre",
    LockStructure: true,
})

WorkbookProtectionOptions, çalışma kitabını korumak için seçenekleri tanımlar.

type WorkbookProtectionOptions struct {
    AlgorithmName string
    Password      string
    LockStructure bool
    LockWindows   bool
}

Çalışma kitabının korumasını kaldır

func (f *File) UnprotectWorkbook(password ...string) error

Çalışma kitabının korumasını kaldırın, opsiyonel bir şifre parametresi belirterek çalışma kitabının korumasını doğrulayın ve kaldırın.