Buku Kerja
Options
mendefinisikan opsi untuk membaca dan menulis lembar kerja.
type Options struct {
MaxCalcIterations uint
Password string
RawCellValue bool
UnzipSizeLimit int64
UnzipXMLSizeLimit int64
ShortDatePattern string
LongDatePattern string
LongTimePattern string
CultureInfo CultureName
}
MaxCalcIterations
digunakan untuk menentukan jumlah maksimum iterasi saat menghitung rumus, dengan nilai default 0.
Password
digunakan untuk menentukan kata sandi untuk membuka dan menyimpan buku kerja dalam teks biasa, dengan nilai default kosong.
RawCellValue
digunakan untuk menentukan apakah mengambil nilai mentah saat membaca nilai sel, dengan nilai default false
(menerapkan format angka).
UnzipSizeLimit
digunakan untuk menentukan batas ukuran (dalam byte) untuk dekompresi saat membuka dokumen lembar kerja, yang harus lebih besar dari atau sama dengan UnzipXMLSizeLimit
, dengan batas default 16GB.
UnzipXMLSizeLimit
digunakan untuk menentukan batas memori (dalam byte) saat mendekompresi setiap lembar kerja dan tabel string bersama, dan saat ukurannya melebihi nilai ini, file XML lembar kerja akan didekompresi ke direktori sementara sistem. Nilai ini harus kurang dari atau sama dengan UnzipSizeLimit
, dengan batas default 16MB.
ShortDatePattern
digunakan untuk menentukan kode format numerik tanggal pendek.
LongDatePattern
digunakan untuk menentukan kode format numerik tanggal panjang.
LongTimePattern
digunakan untuk menentukan kode format numerik waktu panjang.
CultureInfo
digunakan untuk menentukan format regional, yang akan digunakan saat membaca format numerik yang dipengaruhi oleh pengaturan tanggal dan waktu spesifik wilayah.
Buat
func NewFile(opts ...Options) *File
Gunakan NewFile
untuk membuat buku kerja Excel baru, yang secara default akan berisi lembar kerja bernama Sheet1
.
Buka
func OpenFile(filename string, opts ...Options) (*File, error)
Gunakan OpenFile
untuk membuka dokumen Excel yang sudah ada. Misalnya, buka dokumen lembar kerja yang dilindungi kata sandi:
f, err := excelize.OpenFile("Book1.xlsx", excelize.Options{Password: "password"})
if err != nil {
return
}
Gunakan Close()
untuk menutup buku kerja yang telah dibuka.
Buka Aliran Data
func OpenReader(r io.Reader, opts ...Options) (*File, error)
OpenReader membaca data dari io.Reader
.
Pada contoh berikut, kita membuat server HTTP sederhana untuk menerima dokumen lembar kerja yang diunggah, menambahkan lembar kerja baru ke dokumen yang diterima, dan mengembalikan respons unduhan:
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("NewSheet")
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)
}
Pengujiannya menggunakan cURL:
curl --location --request GET 'http://127.0.0.1:8090/process' \
--form 'file=@/tmp/template.xltx' -O -J
Simpan
func (f *File) Save(opts ...Options) error
Gunakan Save
untuk menyimpan editan ke dokumen Excel.
Simpan Sebagai
func (f *File) SaveAs(name string, opts ...Options) error
Gunakan SaveAs
untuk menyimpan dokumen Excel sebagai file yang ditentukan.
Tutup Buku Kerja
func (f *File) Close() error
Tutup buku kerja dan bersihkan cache disk sistem yang mungkin telah dibuat saat membuka dokumen.
Lembar Kerja Baru
func (f *File) NewSheet(sheet string) (int, error)
Buat lembar kerja baru berdasarkan nama lembar kerja yang diberikan dan kembalikan indeks lembar kerja dalam buku kerja. Harap dicatat bahwa saat membuat buku kerja baru, itu akan berisi lembar kerja default bernama Sheet1
.
Hapus Lembar Kerja
func (f *File) DeleteSheet(sheet string) error
Hapus lembar kerja yang ditentukan berdasarkan nama lembar kerja yang diberikan. Gunakan metode ini dengan hati-hati, karena akan memengaruhi rumus, referensi, grafik, dan elemen lain yang terkait dengan lembar kerja yang dihapus. Jika komponen lain merujuk nilai pada lembar kerja yang dihapus, akan muncul kesalahan, dan bahkan dapat menyebabkan buku kerja gagal dibuka. Memanggil metode ini tidak valid ketika buku kerja hanya berisi satu lembar kerja.
Salin Lembar Kerja
func (f *File) CopySheet(from, to int) error
Salin lembar kerja berdasarkan lembar kerja sumber yang diberikan dan indeks lembar kerja tujuan. Pengembang perlu mengonfirmasi apakah indeks lembar kerja tujuan sudah ada. Saat ini, hanya penyalinan lembar kerja yang berisi nilai sel dan rumus yang didukung, sementara penyalinan lembar kerja yang berisi tabel, gambar, grafik, dan tabel pivot tidak didukung.
// Lembar kerja bernama Sheet1 sudah ada ...
index, err := f.NewSheet("Sheet2")
if err != nil {
fmt.Println(err)
return
}
err := f.CopySheet(1, index)
Gabung Lembar Kerja
func (f *File) GroupSheets(sheets []string) error
Kelompokkan lembar kerja berdasarkan nama lembar kerja yang diberikan, dan lembar kerja default harus disertakan dalam lembar kerja yang diberikan.
Buka Kelompok Lembar Kerja
func (f *File) UngroupSheets() error
Buka kelompok lembar kerja.
Atur Latar Belakang Lembar Kerja
func (f *File) SetSheetBackground(sheet, picture string) error
Atur gambar latar tile untuk lembar kerja yang ditentukan berdasarkan nama lembar kerja dan jalur file gambar yang diberikan. Format file gambar yang didukung mencakup: BMP, EMF, EMZ, GIF, JPEG, JPG, PNG, SVG, TIF, TIFF, WMF, dan WMZ.
func (f *File) SetSheetBackgroundFromBytes(sheet, extension string, picture []byte) error
Atur gambar latar tile untuk lembar kerja yang ditentukan berdasarkan nama lembar kerja, ekstensi format gambar, dan data format gambar. Format file gambar yang didukung mencakup: BMP, EMF, EMZ, GIF, JPEG, JPG, PNG, SVG, TIF, TIFF, WMF, dan WMZ.
Atur Lembar Kerja Default
func (f *File) SetActiveSheet(index int)
Atur lembar kerja default berdasarkan nilai indeks yang diberikan, di mana nilai harus lebih besar dari atau sama dengan 0
dan kurang dari total kumulatif jumlah lembar kerja dalam buku kerja.
Dapatkan Indeks Lembar Kerja Default
func (f *File) GetActiveSheetIndex() int
Dapatkan indeks lembar kerja default, mengembalikan 0
jika tidak ada lembar kerja default yang ditemukan.
Atur Keterlihatan Lembar Kerja
func (f *File) SetSheetVisible(sheet string, visible bool, veryHidden ...bool) error
Set keterlihatan lembar kerja berdasarkan nama lembar kerja yang diberikan dan parameter keterlihatan. Sebuah buku kerja harus berisi setidaknya satu lembar kerja yang terlihat. Jika lembar kerja yang diberikan adalah lembar kerja default, pengaturan keterlihatan tidak valid. Parameter opsional ketiga veryHidden
hanya valid ketika nilai parameter visible
adalah false
.
Sebagai contoh, untuk menyembunyikan lembar kerja bernama Sheet1
:
err := f.SetSheetVisible("Sheet1", false)
Dapatkan Keterlihatan Lembar Kerja
func (f *File) GetSheetVisible(sheet string) (bool, error)
Dapatkan pengaturan keterlihatan lembar kerja berdasarkan nama lembar kerja yang diberikan. Sebagai contoh, untuk mendapatkan pengaturan keterlihatan lembar kerja bernama Sheet1
:
visible, err := f.GetSheetVisible("Sheet1")
Atur Properti Lembaran
func (f *File) SetSheetProps(sheet string, opts *SheetPropsOptions) error
Atur properti dari lembar kerja yang ditentukan berdasarkan nama lembar kerja dan pilihan properti yang diberikan. Pilihan properti lembar kerja yang didukung adalah sebagai berikut:
Properti | Tipe | Deskripsi |
---|---|---|
CodeName | *string |
Nama kode |
EnableFormatConditionsCalculation | *bool |
Tentukan apakah pemformatan kondisional dihitung secara otomatis, dengan nilai default true |
Diterbitkan | *bool |
Tentukan apakah lembar kerja diterbitkan, dengan nilai default true |
AutoPageBreaks | *bool |
Tentukan apakah lembar kerja memecah halaman secara otomatis, dengan nilai default true |
FitToPage | *bool |
Tentukan apakah mencetak sesuai halaman diaktifkan, dengan nilai default false |
TabColorIndexed | *int |
Digunakan untuk nilai warna indeks yang kompatibel ke belakang |
TabColorRGB | *string |
Nilai warna ARGB standar |
TabColorTheme | *int |
Indeks warna tema mulai dari 0 |
TabColorTint | *float64 |
Nilai tint yang diterapkan pada warna, dengan nilai default 0.0 |
OutlineSummaryBelow | *bool |
Tentukan arah ringkasan, apakah di bawah data detail, dengan nilai default true |
OutlineSummaryRight | *bool |
Tentukan arah ringkasan, apakah ke kanan dari data detail, dengan nilai default true |
BaseColWidth | *uint8 |
Lebar kolom dasar yang diwakili dalam jumlah karakter, dengan nilai default 8 |
DefaultColWidth | *float64 |
Lebar kolom default termasuk margin dan garis grid |
DefaultRowHeight | *float64 |
Tinggi baris yang diwakili dalam poin |
CustomHeight | *bool |
Tentukan apakah tinggi baris kustom diterapkan, dengan nilai default false |
ZeroHeight | *bool |
Tentukan apakah baris disembunyikan secara default, dengan nilai default false |
ThickTop | *bool |
Tentukan apakah baris memiliki batas atas tebal secara default, dengan nilai default false |
ThickBottom | *bool |
Tentukan apakah baris memiliki batas bawah tebal secara default, dengan nilai default false |
Sebagai contoh, untuk menyembunyikan baris default di lembar kerja bernama Sheet1
:
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("Book1.xlsx")
Dapatkan Properti Lembaran
func (f *File) GetSheetProps(sheet string) (SheetPropsOptions, error)
Dapatkan properti dari lembar kerja yang ditentukan berdasarkan nama lembar kerja yang diberikan.
Atur Properti Tampilan Lembar
func (f *File) SetSheetView(sheet string, viewIndex int, opts *ViewOptions) error
Atur properti tampilan lembar berdasarkan nama lembar, indeks tampilan, dan opsi tampilan yang diberikan. viewIndex
dapat berupa angka negatif, dalam hal ini perhitungan akan dilakukan mundur (-1
mewakili tampilan terakhir). Opsi yang didukung untuk mengatur properti tampilan lembar adalah sebagai berikut:
Properti | Tipe | Deskripsi |
---|---|---|
DefaultGridColor | *bool |
Menentukan apakah akan menggunakan warna garis kisi default, nilai default adalah true |
RightToLeft | *bool |
Menentukan apakah tampilan dari kanan ke kiri, nilai default adalah false |
ShowFormulas | *bool |
Menentukan apakah lembar kerja menampilkan rumus, nilai default adalah false |
ShowGridLines | *bool |
Menentukan apakah lembar kerja menampilkan garis kisi, nilai default adalah true |
ShowRowColHeaders | *bool |
Menentukan apakah lembar kerja menampilkan header baris dan kolom, nilai default adalah true |
ShowRuler | *bool |
Menentukan apakah akan menampilkan penggaris dalam tampilan tata letak halaman, nilai default adalah true |
ShowZeros | *bool |
Menentukan apakah akan menampilkan nilai nol dalam sel, nilai default adalah true , jika tidak, nilainya akan ditampilkan sebagai kosong |
TopLeftCell | *string |
Menentukan koordinat sel atas-kiri yang terlihat |
View | *string |
Menunjukkan jenis tampilan lembar kerja, dengan nilai enum normal , pageBreakPreview , dan pageLayout |
ZoomScale | *float64 |
Persentase skala zoom jendela tampilan saat ini, terbatas pada rentang 10 hingga 400, nilai default adalah 100 |
Dapatkan Properti Tampilan Lembar
func (f *File) GetSheetView(sheet string, viewIndex int) (ViewOptions, error)
Dapatkan properti tampilan lembar berdasarkan nama lembar dan indeks tampilan yang diberikan. viewIndex
dapat berupa angka negatif, dalam hal ini perhitungan akan dilakukan mundur (-1
mewakili tampilan terakhir).
Atur Tata Letak Halaman Lembar Kerja
func (f *File) SetPageLayout(sheet string, opts *PageLayoutOptions) error
Atur atribut tata letak halaman lembar kerja berdasarkan nama lembar kerja yang diberikan dan parameter tata letak halaman. Saat ini atribut tata letak halaman yang didukung termasuk:
Atribut Size
digunakan untuk menentukan ukuran kertas halaman, dengan ukuran tata letak halaman default adalah "Letter 8½ × 11 inci". Tabel berikut menunjukkan hubungan antara ukuran tata letak halaman dan parameter indeks Size
di Excelize:
Indeks | Ukuran Kertas |
---|---|
1 | Letter 8½ × 11 inci |
2 | Letter Kecil 8½ × 11 inci |
3 | Tabloid 11 × 17 inci |
4 | Ledger 17 × 11 inci |
... | ... |
40 | Lipatan Kipas Standar Jerman 8.5 × 12 inci |
| 41 | Kertas Hukum Lipatan Standar Jerman 8.5 × 13 inci |
| 42 | ISO B4 250 × 353 mm |
| 43 | Kartu Pos Jepang 100 × 148 mm |
| 44 | Kertas Standar 9 × 11 inci |
| 45 | Kertas Standar 10 × 11 inci |
| 46 | Kertas Standar 15 × 11 inci |
| 47 | Surat Undangan 220 × 220 mm |
| 50 | Kertas Kop Surat Diperbesar 9.275 × 12 inci |
| 51 | Kertas Hukum Ekstra Besar 9.275 × 15 inci |
| 52 | Kertas Tabloid Ekstra 11.69 × 18 inci |
| 53 | A4 Ekstra Besar 236 × 322 mm |
| 54 | Kop Surat Bentuk Lanskap 8.275 × 11 inci |
| 55 | A4 Bentuk Lanskap 210 × 297 mm |
| 56 | Kop Surat Ekstra Besar Bentuk Lanskap 9.275 × 12 inci |
| 57 | Kertas SuperA/SuperA/A4 227 × 356 mm |
| 58 | Kertas SuperB/SuperB/A3 305 × 487 mm |
| 59 | Kertas Kop Surat Diperbesar 8.5 × 12.69 inci |
| 60 | A4 Diperbesar 210 × 330 mm |
| 61 | Bentuk Lanskap A5 148 × 210 mm |
| 62 | JIS B5 Bentuk Lanskap 182 × 257 mm |
| 63 | A3 Ekstra Besar 322 × 445 mm |
| 64 | A5 Ekstra Besar 174 × 235 mm |
| 65 | ISO B5 Ekstra Besar 201 × 276 mm |
| 66 | A2 420 × 594 mm |
| 67 | A3 Bentuk Lanskap 297 × 420 mm |
| 68 | A3 Ekstra Besar Bentuk Lanskap 322 × 445 mm |
| 69 | Kartu Pos Jepang Ganda 200 × 148 mm |
| 70 | A6 105 × 148 mm |
| 71 | Amplop Jepang Kaku #2 |
| 72 | Amplop Jepang Kaku #3 |
| 73 | Amplop Jepang Chou #3 |
| 74 | Amplop Jepang Chou #4 |
| 75 | Kop Surat Bentuk Lanskap 11 × 8½ inci |
| 76 | A3 Bentuk Lanskap 420 × 297 mm |
| 77 | A4 Bentuk Lanskap 297 × 210 mm |
| 78 | A5 Bentuk Lanskap 210 × 148 mm |
| 79 | B4 (JIS) Bentuk Lanskap 364 × 257 mm |
| 80 | B5 (JIS) Bentuk Lanskap 257 × 182 mm |
| 81 | Kartu Pos Jepang Bentuk Lanskap 148 × 100 mm |
| 82 | Kartu Pos Jepang Ganda Bentuk Lanskap 148 × 200 mm |
| 83 | A6 Bentuk Lanskap 148 × 105 mm |
| 84 | Amplop Jepang Kaku #2 Bentuk Lanskap |
| 85 | Amplop Jepang Kaku #3 Bentuk Lanskap |
| 86 | Amplop Jepang Chou #3 Bentuk Lanskap |
| 87 | Japanese Envelope Chou #4 Landscape |
| 88 | B6 (JIS) 128 × 182 mm |
| 89 | B6 (JIS) Landscape 182 × 128 mm |
| 90 | 12 × 11 inci |
| 91 | Japanese Envelope You #4 |
| 92 | Japanese Envelope You #4 Landscape |
| 93 | Cina 16K 146 × 215 mm |
| 94 | Cina 32K 97 × 151 mm |
| 95 | Cina Besar 32K 97 × 151 mm |
| 96 | Cina Amplop #1 102 × 165 mm |
| 97 | Cina Amplop #2 102 × 176 mm |
| 98 | Cina Amplop #3 125 × 176 mm |
| 99 | Cina Amplop #4 110 × 208 mm |
| 100 | Cina Amplop #5 110 × 220 mm |
| 101 | Cina Amplop #6 120 × 230 mm |
| 102 | Cina Amplop #7 160 × 230 mm |
| 103 | Cina Amplop #8 120 × 309 mm |
| 104 | Cina Amplop #9 229 × 324 mm |
| 105 | Cina Amplop #10 324 × 458 mm |
| 106 | Cina 16K Landscape |
| 107 | Cina 32K Landscape |
| 108 | Cina Besar 32K Landscape |
| 109 | Cina Amplop #1 Landscape 165 × 102 mm |
| 110 | Cina Amplop #2 Landscape 176 × 102 mm |
| 111 | Cina Amplop #3 Landscape 176 × 125 mm |
| 112 | Cina Amplop #4 Landscape 208 × 110 mm |
| 113 | Cina Amplop #5 Landscape 220 × 110 mm |
| 114 | Cina Amplop #6 Landscape 230 × 120 mm |
| 115 | Cina Amplop #7 Landscape 230 × 160 mm |
| 116 | Cina Amplop #8 Landscape 309 × 120 mm |
| 117 | Cina Amplop #9 Landscape 324 × 229 mm |
| 118 | Cina Amplop #10 Landscape 458 × 324 mm |
Properti `Orientation` digunakan untuk menentukan arah tata letak halaman, dengan arah tata letak halaman default adalah "potret", dan nilai opsionalnya adalah `potret` dan `landscape`.
Properti `FirstPageNumber` digunakan untuk menentukan nomor halaman awal, dengan nilai default adalah otomatis.
Properti `AdjustTo` digunakan untuk menentukan rasio penskalaan halaman, dengan rentang 10 hingga 400, yaitu, penskalaan dari 10% hingga 400%, dan nilai defaultnya adalah `100` untuk ukuran normal. Pengaturan `FitToHeight` atau `FitToWidth` akan menggantikan properti ini.
Properti `FitToHeight` digunakan untuk menentukan penskalaan halaman untuk menyesuaikan lebar halaman, dengan nilai default `1`.
Properti `FitToWidth` digunakan untuk menentukan penskalaan halaman untuk menyesuaikan tinggi halaman, dengan nilai default `1`.
Properti `BlackAndWhite` digunakan untuk menentukan pencetakan monokrom, dengan nilai default adalah nonaktif.
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)
}
Dapatkan Tata Letak Halaman Lembar Kerja
func (f *File) GetPageLayout(sheet string) (PageLayoutOptions, error)
Dapatkan properti tata letak halaman lembar kerja berdasarkan nama lembar kerja yang diberikan dan parameter tata letak halaman.
Tetapkan Margin Halaman Lembar Kerja
func (f *File) SetPageMargins(sheet string, opts *PageLayoutMarginsOptions) error
Atur margin halaman lembar kerja berdasarkan nama lembar kerja yang diberikan dan parameter margin. Opsi margin yang didukung adalah:
Opsi | Tipe | Deskripsi |
---|---|---|
Bawah | *float64 |
Margin bawah |
Footer | *float64 |
Margin footer |
Header | *float64 |
Margin header |
Kiri | *float64 |
Margin kiri |
Kanan | *float64 |
Margin kanan |
Atas | *float64 |
Margin atas |
Secara Horizontal | *bool |
Pusat halaman secara horizontal |
Secara Vertikal | *bool |
Pusat halaman secara vertikal |
Dapatkan Margin Halaman Lembar Kerja
func (f *File) GetPageMargins(sheet string) (PageLayoutMarginsOptions, error)
Dapatkan margin halaman lembar kerja berdasarkan nama lembar kerja yang diberikan dan parameter margin.
Tetapkan Properti Buku Kerja
func (f *File) SetWorkbookProps(opts *WorkbookPropsOptions) error
SetWorkbookProps digunakan untuk mengatur properti buku kerja. Properti buku kerja yang didukung adalah:
Properti | Tipe | Deskripsi |
---|---|---|
Date1904 | *bool |
Menunjukkan apakah buku kerja menggunakan sistem tanggal 1904 |
FilterPrivacy | *bool |
Privasi filter, menunjukkan apakah aplikasi memeriksa informasi pribadi dalam buku kerja |
CodeName | *string |
Nama kode |
Dapatkan Properti Buku Kerja
func (f *File) GetWorkbookProps() (WorkbookPropsOptions, error)
GetWorkbookProps digunakan untuk mendapatkan properti buku kerja.
Atur Header dan Footer
func (f *File) SetHeaderFooter(sheet string, opts *HeaderFooterOptions) error
Mengatur header dan footer dari lembar kerja berdasarkan nama lembar kerja yang diberikan dan karakter kontrol yang ditentukan.
Header dan footer termasuk bidang-bidang berikut:
Bidang | Deskripsi |
---|---|
AlignWithMargins | Menetapkan perataan header dan footer dengan margin halaman |
DifferentFirst | Menetapkan header dan footer untuk halaman pertama |
DifferentOddEven | Menetapkan header dan footer untuk halaman ganjil dan genap |
ScaleWithDoc | Menetapkan header dan footer agar disesuaikan dengan dokumen |
OddFooter | Karakter kontrol untuk footer halaman ganjil, digunakan untuk menetapkan footer halaman pertama ketika nilai DifferentOddEven adalah false |
OddHeader | Karakter kontrol untuk header halaman ganjil, digunakan untuk menetapkan header halaman pertama ketika nilai DifferentOddEven adalah false |
EvenFooter | Karakter kontrol untuk footer halaman genap |
EvenHeader | Karakter kontrol untuk header halaman genap |
FirstFooter | Karakter kontrol untuk footer halaman pertama |
FirstHeader | Karakter kontrol untuk header halaman pertama |
Kode format dalam tabel di bawah ini dapat digunakan untuk 6 bidang tipe string: OddHeader
, OddFooter
, EvenHeader
, EvenFooter
, FirstFooter
, FirstHeader
Kode Format | Deskripsi |
---|---|
&& |
Karakter "&" |
&font-size |
Ukuran font teks, di mana ukuran font adalah ukuran font desimal dalam titik |
&"nama font,jenis font" |
String nama font teks, nama font, dan string jenis font teks, jenis font |
&"-,Regular" |
Format teks reguler. Matikan mode tebal dan miring |
&A |
Nama lembar kerja saat ini |
&B atau &"-,Bold" |
Format teks tebal, nonaktif atau aktif, default nonaktif |
&D |
Tanggal saat ini |
&C |
Bagian tengah |
&E |
Garis bawah ganda untuk teks |
&F |
Nama file buku kerja saat ini |
&G |
Tentukan objek sebagai latar belakang (saat ini tidak didukung) |
&H |
Bayangan teks |
&I atau &"-,Italic" |
Teks miring |
&K |
Format warna font dalam format warna RGB dalam RRGGBB. Warna tema ditentukan sebagai TTSNNN, di mana TT adalah id warna tema, S adalah corak atau bayangan dari "+", "-", adalah nilai dari corak atau bayangan |
&L |
Bagian kiri |
&N |
Jumlah total halaman |
&O |
Format teks kontur |
&P[[+\|-]n] |
Jika tidak ada akhiran opsional, nomor halaman saat ini (desimal) |
&R |
Bagian kanan |
&S |
Garis tengah teks |
&T |
Waktu saat ini |
&U |
Tambahkan garis bawah tunggal ke teks. Mode default mati |
&X |
Format atas script |
&Y |
Format subskrip |
&Z |
Path file buku kerja saat ini |
Contohnya:
err := f.SetHeaderFooter("Sheet1", &excelize.HeaderFooterOptions{
DifferentFirst: true,
DifferentOddEven: true,
OddHeader: "&R&P",
OddFooter: "&C&F",
EvenHeader: "&L&P",
EvenFooter: "&L&D&R&T",
FirstHeader: `&CCenter &"-,Bold"Header Tebal&"-,Regular"U+000A&D`,
})
Contoh di atas berisi format berikut:
- Halaman pertama memiliki header dan footer sendiri
- Halaman ganjil dan genap memiliki header dan footer yang berbeda
- Bagian kanan dari header halaman ganjil adalah nomor halaman saat ini
- Bagian tengah dari footer halaman ganjil adalah nama file buku kerja saat ini
- Bagian kiri adalah nomor halaman saat ini pada header halaman genap
- Bagian kiri adalah tanggal saat ini, dan bagian kanan dari footer halaman genap adalah waktu saat ini
- Teks pada baris pertama di bagian tengah halaman pertama adalah "Tengah Bold Header", dan baris kedua adalah tanggal
- Tidak ada footer pada halaman pertama
Atur Nama
func (f *File) SetDefinedName(definedName *DefinedName) error
Atur nama dan rentang referensi berdasarkan nama yang diberikan, dengan cakupan default sebagai buku kerja. Contoh:
err := f.SetDefinedName(&excelize.DefinedName{
Name: "Amount",
RefersTo: "Sheet1!$A$2:$D$5",
Comment: "komentar nama yang ditetapkan",
Scope: "Sheet2",
})
Mengatur area cetak dan judul cetak dari lembar kerja:
if err := f.SetDefinedName(&excelize.DefinedName{
Name: "_xlnm.Print_Area",
RefersTo: "Sheet1!$A$1:$Z$100",
Scope: "Sheet1",
}); err != nil {
fmt.Println(err)
}
if err := f.SetDefinedName(&excelize.DefinedName{
Name: "_xlnm.Print_Titles",
RefersTo: "Sheet1!$A:$A,Sheet1!$1:$1",
Scope: "Sheet1",
}); err != nil {
fmt.Println(err)
}
Dapatkan Nama
func (f *File) GetDefinedName() []DefinedName
Dapatkan daftar nama buku kerja dan lembar kerja dalam cakupan.
Hapus Nama
func (f *File) DeleteDefinedName(definedName *DefinedName) error
Hapus nama yang ditetapkan berdasarkan nama yang diberikan dan cakupan nama, dengan cakupan default sebagai buku kerja. Contoh:
err := f.DeleteDefinedName(&excelize.DefinedName{
Name: "Amount",
Scope: "Sheet2",
})
Atur Properti Aplikasi Buku Kerja
func (f *File) SetAppProps(appProperties *AppProperties) error
Atur properti aplikasi buku kerja. Properti yang dapat diatur meliputi:
Properti | Deskripsi |
---|---|
Aplikasi | Nama aplikasi yang membuat dokumen ini |
ScaleCrop | Menentukan tampilan cuplikan dokumen. Atur ke true untuk menyusun ulang cuplikan dokumen, dan false untuk memangkas cuplikan dokumen |
KeamananDokumen | Tingkat keamanan dokumen yang direpresentasikan sebagai nilai numerik |
Perusahaan | Nama perusahaan yang terkait dengan dokumen |
TautanTertanggal | Menetapkan apakah tautan dalam dokumen terkini. Atur ke true untuk tautan terkini, dan false untuk tautan usang |
TautanBerubah | Menentukan apakah tautan baru yang ditentukan dalam bagian ini harus digunakan untuk memperbarui hubungan tautan saat dokumen dibuka selanjutnya |
VersiAplikasi | Menentukan versi aplikasi yang menghasilkan dokumen ini. Nilai harus dalam format XX.YYYY, di mana X dan Y adalah nilai numerik, jika tidak, file tidak akan sesuai dengan standar |
Contoh:
err := f.SetAppProps(&excelize.AppProperties{
Application: "Microsoft Excel",
ScaleCrop: true,
DocSecurity: 3,
Company: "Nama Perusahaan",
LinksUpToDate: true,
HyperlinksChanged: true,
AppVersion: "16.0000",
})
Dapatkan Properti Aplikasi Buku Kerja
func (f *File) GetAppProps() (*AppProperties, error)
Dapatkan properti aplikasi buku kerja.
Atur properti dokumen
func (f *File) SetDocProps(docProperties *DocProperties) error
Atur properti inti dari buku kerja. Properti yang dapat diatur meliputi:
Properti | Deskripsi |
---|---|
Kategori | Kategori konten dokumen |
StatusKonten | Status konten dokumen. Misalnya, nilai-nilai mungkin termasuk "Draft", "Ditinjau", dan "Final" |
Dibuat | Waktu ketika dokumen dibuat, direpresentasikan dalam format UTC ISO 8601, misalnya 2019-06-04T22:00:10Z |
Pembuat | Pembuat dokumen |
Deskripsi | Deskripsi konten sumber daya |
Pengenal | Referensi yang jelas ke sumber daya dalam konteks yang diberikan |
KataKunci | Kata kunci dokumen |
Bahasa | Bahasa utama dari konten dokumen |
TerakhirDiubahOleh | Pengguna yang terakhir memodifikasi dokumen |
Dimodifikasi | Waktu ketika dokumen dimodifikasi, direpresentasikan dalam format UTC ISO 8601, misalnya 2019-06-04T22:00:10Z |
Revisi | Versi revisi dokumen |
Subjek | Subjek dokumen |
Judul | Judul dokumen |
Versi | Nomor versi, yang diatur oleh pengguna atau aplikasi |
Sebagai contoh:
err := f.SetDocProps(&excelize.DocProperties{
Category: "kategori",
ContentStatus: "Draft",
Created: "2019-06-04T22:00:10Z",
Creator: "Go Excelize",
Description: "Berkas ini dibuat oleh Go Excelize",
Identifier: "xlsx",
Keywords: "Spreadsheet",
LastModifiedBy: "Pembuat Go",
Modified: "2019-06-04T22:00:10Z",
Revision: "0",
Subject: "Subjek Uji Coba",
Title: "Judul Uji Coba",
Language: "id-ID",
Version: "1.0.0",
})
Dapatkan properti dokumen
func (f *File) GetDocProps() (*DocProperties, error)
Dapatkan properti inti dari buku kerja.
Lindungi buku kerja
func (f *File) ProtectWorkbook(opts *WorkbookProtectionOptions) error
Lindungi struktur buku kerja dengan kata sandi untuk mencegah pengguna lain melihat lembar kerja tersembunyi, menambah, memindahkan, atau menyembunyikan lembar kerja, dan mengubah nama lembar kerja. Bidang NamaAlgoritma
mendukung menentukan algoritma hash XOR, MD4, MD5, SHA-1, SHA-256, SHA-384, atau SHA-512. Jika tidak ada algoritma hash yang ditentukan, algoritma XOR digunakan secara default. Misalnya, lindungi struktur buku kerja dengan kata sandi:
err := f.ProtectWorkbook(&excelize.WorkbookProtectionOptions{
Password: "kata sandi",
LockStructure: true,
})
WorkbookProtectionOptions mendefinisikan opsi untuk melindungi buku kerja.
type WorkbookProtectionOptions struct {
NamaAlgoritma string
Sandi string
KunciStruktur bool
KunciJendela bool
}
Hilangkan perlindungan buku kerja
func (f *File) UnprotectWorkbook(password ...string) error
Hapus perlindungan buku kerja, dengan parameter sandi opsional untuk memverifikasi dan menghapus perlindungan buku kerja.