


Artikel yang menerangkan secara terperinci cara Golang menjana dokumen Excel
Artikel ini membawakan anda pengetahuan yang relevan tentang Golang terutamanya cara menggunakan Golang untuk menghasilkan dokumen Excel. Rakan-rakan yang berminat boleh lihat di bawah.
Menjana dokumen Excel berdasarkan data merupakan keperluan yang sangat biasa Artikel ini akan memperkenalkan cara menggunakan pustaka Excelize Go untuk menjana dokumen Excel. . Serta pelaksanaan kod dalam beberapa senario tertentu.
Mengenai perpustakaan Excelize
Excelize
ialah perpustakaan asas yang ditulis dalam bahasa Go untuk mengendalikan dokumen Office Excel, berdasarkan piawaian antarabangsa ECMA-376, ISO/IEC 29500. Anda boleh menggunakannya untuk membaca dan menulis dokumen hamparan yang dibuat dengan Microsoft Excel™ 2007 dan ke atas. Ia menyokong berbilang format dokumen seperti buku kerja XLSX / XLSM / XLTM / Data. Ia boleh digunakan pada pelbagai platform pelaporan, pengkomputeran awan, pengkomputeran tepi dan sistem lain. Menggunakan pustaka ini memerlukan bahasa Go versi 1.15 atau lebih tinggi.
Perbandingan prestasi
Rajah berikut menunjukkan perbandingan prestasi beberapa pustaka Excel sumber terbuka utama apabila menjana matriks teks biasa 12800*50 (OS: macOS Mojave versi 10.14.4, CPU: 3.4 GHz Intel Core i5, RAM: 16 GB 2400 MHz DDR4, HDD: 1 TB), termasuk Go, Python, Java, PHP dan NodeJS.
Pasang
Versi terkini ialah v2.4.0
:
go get github.com/360EntSecGroup-Skylar/excelize/v2
Buat dokumen Excel
di bawah Dalam kes ini, kami mencipta dokumen Excel dan menggunakan kaedah NewSheet
untuk mencipta lembaran kerja Sheet2
baharu ialah lembaran kerja yang dibuat secara lalai Kemudian kami menggunakan kaedah Sheet1
untuk mencipta lembaran kerja baharu dalam SetCellValue
lembaran kerja Tetapkan nilai dalam sel Sheet2
dan sel A2
jadual Sheet1
, dan tetapkan lembaran kerja B2
sebagai lembaran kerja lalai dengan menggunakan kaedah SetActiveSheet
dan akhirnya panggil <.> kaedah untuk menulis data ke dokumen Excel Sederhana: Sheet2
SaveAs
package main import ( "fmt" "github.com/360EntSecGroup-Skylar/excelize/v2" ) func main() { f := excelize.NewFile() // 创建一个工作表 index := f.NewSheet("Sheet2") // 设置单元格的值 f.SetCellValue("Sheet2", "A2", "Hello world.") f.SetCellValue("Sheet1", "B2", 100) // 设置工作簿的默认工作表 f.SetActiveSheet(index) // 根据指定路径保存文件 if err := f.SaveAs("Book1.xlsx"); err != nil { fmt.Println(err) } }
Buat lembaran kerja
Nama lembaran kerja adalah sensitif huruf besar/kecil:
Padam lalai Lembaran kerja yang dibuatindex := f.NewSheet("Sheet2")
Dokumen Excel lalai yang dibuat mengandungi lembaran kerja bernama
Kami mungkin tidak memerlukan lembaran kerja lalai ini pada masa ini:Sheet1
f.DeleteSheet("Sheet1")
Gabungkan
sel dalam julat pada lembaran kerja: Sheet1
F1:I2
excel.MergeCell("Sheet1", "F1", "I2")
ke Gaya tetapan sel sel sering ditemui, seperti menetapkan warna latar belakang sel Pustaka
menyediakan dua kaedah berikut untuk menetapkan gaya sel ( dan Excelize
): NewStyle
SetCellStyle
// 通过给定的样式格式 JSON 或结构体的指针创建样式并返回样式索引。 // 请注意,颜色需要使用 RGB 色域代码表示。 style, err := f.NewStyle(`{ "border": [ { "type": "left", "color": "0000FF", "style": 3 }, { "type": "top", "color": "00FF00", "style": 4 }, { "type": "bottom", "color": "FFFF00", "style": 5 }, { "type": "right", "color": "FF0000", "style": 6 }, { "type": "diagonalDown", "color": "A020F0", "style": 7 }, { "type": "diagonalUp", "color": "A020F0", "style": 8 }] }`) if err != nil { fmt.Println(err) } err = f.SetCellStyle("Sheet1", "D7", "D7", style)
Untuk mendatar memusatkan teks, anda perlu menggunakan struktur gaya
:Alignment
type Alignment struct { Horizontal string `json:"horizontal"` Indent int `json:"indent"` JustifyLastLine bool `json:"justify_last_line"` ReadingOrder uint64 `json:"reading_order"` RelativeIndent int `json:"relative_indent"` ShrinkToFit bool `json:"shrink_to_fit"` TextRotation int `json:"text_rotation"` Vertical string `json:"vertical"` WrapText bool `json:"wrap_text"` }kepada
: Horizontal
center
style, err := f.NewStyle(`{"alignment":{"horizontal":"center"}}`) if err != nil { fmt.Println(err) } err = excel.SetCellStyle("Sheet1", "B1", "B1", style)
Untuk mengisi sel dengan warna, anda akan menggunakan struktur gaya
:Fill
type Fill struct { Type string `json:"type"` Pattern int `json:"pattern"` Color []string `json:"color"` Shading int `json:"shading"` }
Daripada kod untuk menetapkan gaya di atas, kita dapati bahawa
ialah tatasusunan dan ialah struktur, yang ditentukan oleh struktur border
: alignment
Style
Berkaitan cadangan:
type Style struct { Border []Border `json:"border"` Fill Fill `json:"fill"` Font *Font `json:"font"` Alignment *Alignment `json:"alignment"` Protection *Protection `json:"protection"` NumFmt int `json:"number_format"` DecimalPlaces int `json:"decimal_places"` CustomNumFmt *string `json:"custom_number_format"` Lang string `json:"lang"` NegRed bool `json:"negred"` }
Atas ialah kandungan terperinci Artikel yang menerangkan secara terperinci cara Golang menjana dokumen Excel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Ciri -ciri teras GO termasuk pengumpulan sampah, penyambungan statik dan sokongan konvensional. 1. Model keseragaman bahasa GO menyedari pengaturcaraan serentak yang cekap melalui goroutine dan saluran. 2. Antara muka dan polimorfisme dilaksanakan melalui kaedah antara muka, supaya jenis yang berbeza dapat diproses secara bersatu. 3. Penggunaan asas menunjukkan kecekapan definisi fungsi dan panggilan. 4. Dalam penggunaan lanjutan, kepingan memberikan fungsi saiz semula dinamik yang kuat. 5. Kesilapan umum seperti keadaan kaum dapat dikesan dan diselesaikan melalui perlumbaan getest. 6. Pengoptimuman prestasi menggunakan objek melalui sync.pool untuk mengurangkan tekanan pengumpulan sampah.

Pergi bahasa berfungsi dengan baik dalam membina sistem yang cekap dan berskala. Kelebihannya termasuk: 1. Prestasi Tinggi: Disusun ke dalam Kod Mesin, Kelajuan Berjalan Cepat; 2. Pengaturcaraan serentak: Memudahkan multitasking melalui goroutine dan saluran; 3. Kesederhanaan: sintaks ringkas, mengurangkan kos pembelajaran dan penyelenggaraan; 4. Cross-Platform: Menyokong kompilasi silang platform, penggunaan mudah.

Keliru mengenai penyortiran hasil pertanyaan SQL. Dalam proses pembelajaran SQL, anda sering menghadapi beberapa masalah yang mengelirukan. Baru-baru ini, penulis membaca "Asas Mick-SQL" ...

Hubungan antara konvergensi stack teknologi dan pemilihan teknologi dalam pembangunan perisian, pemilihan dan pengurusan susunan teknologi adalah isu yang sangat kritikal. Baru -baru ini, beberapa pembaca telah mencadangkan ...

Golang ...

Bagaimana membandingkan dan mengendalikan tiga struktur dalam bahasa Go. Dalam pengaturcaraan GO, kadang -kadang perlu untuk membandingkan perbezaan antara dua struktur dan menggunakan perbezaan ini kepada ...

Bagaimana untuk melihat pakej yang dipasang di seluruh dunia? Dalam proses membangun dengan bahasa Go, sering menggunakan ...

Apa yang perlu saya lakukan jika label struktur tersuai di Goland tidak dipaparkan? Apabila menggunakan Goland untuk Pembangunan Bahasa GO, banyak pemaju akan menghadapi tag struktur tersuai ...


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

MantisBT
Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

PhpStorm versi Mac
Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

SecLists
SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.