Go Library for Bekerja dengan Excel XLSX Documents
Open Source Go API yang menyokong penjanaan Microsoft Excel XLSX Spreadsheet, mengurus lembaran kerja, mengendalikan Baris & Lajur dalam Lembaran Kerja melalui Go API.
Pustaka xlsx menyediakan cara yang sangat pantas dan boleh dipercayai untuk bekerja dengan fail Microsoft Excel menggunakan Go. Perpustakaan membantu memudahkan membaca dan menulis format fail Excel XLSX. Format fail XLSX telah diperkenalkan pada tahun 2007 dan menggunakan standard Open XML yang disesuaikan oleh Microsoft pada tahun 2000. Perpustakaan ini adalah sumber terbuka dan tersedia di bawah lesen BSD-3-Clause.
Pustaka xlsx sumber terbuka telah menyertakan sokongan untuk beberapa ciri penting yang berkaitan dengan penciptaan dan manipulasi Dokumen Microsoft Excel seperti mencipta fail XlSX baharu, membuka fail Excel sedia ada, mengakses lembaran kerja anda, menambah lembaran kerja baharu, Mengurus baris dan lajur di dalam lembaran kerja, menambah sel, mendapatkan sel daripada baris, memformat sel, menggunakan gaya pada sel, menamakan julat sokongan dan banyak lagi.
Bermula dengan Xlsx2Go
Cara yang disyorkan untuk memasang xlsx adalah daripada GitHub, Sila gunakan arahan berikut untuk pemasangan yang lancar.
Pasang xlsx melalui GitHub
go get https://github.com/tealeg/xlsx.git
Mencipta Fail XLSX BAHARU melalui Perpustakaan Go
Pustaka xlsx sumber terbuka memberi pembangun perisian keupayaan untuk mencipta fail XLSX kosong baharu dari awal menggunakan beberapa arahan Go. Pembangun boleh menggunakan fungsi NewFile() baharu untuk menjana fail baharu. Setelah ia dibuat, anda boleh menambah kandungan baharu pada buku kerja dengan mudah. Anda boleh menambah helaian baharu atau menambah helaian sedia ada dengan mudah. Setelah dibuat dan kerja selesai, sila simpan kerja anda, adalah disyorkan Tutup() helaian.
Cipta & Edit Fail Excel XLSX melalui Go API
// Demonstrates how to create/open/save XLSX files
func Example_files() {
// Create a new XLSX file
xl := xlsx.New()
// Open the XLSX file using file name
xl, err := xlsx.Open("./test_files/example_simple.xlsx")
if err != nil {
log.Fatal(err)
}
defer xl.Close()
// Open the XLSX file using file handler
zipFile, err := os.Open("./test_files/example_simple.xlsx")
if err != nil {
log.Fatal(err)
}
xl, err = xlsx.Open(zipFile)
if err != nil {
log.Fatal(err)
}
// Update the existing XLSX file
err = xl.Save()
if err != nil {
log.Fatal(err)
}
// Save the XLSX file under different name
err = xl.SaveAs("new_file.xlsx")
if err != nil {
log.Fatal(err)
}
}
Akses dan Baca Fail XLSX
Pustaka xlsx sumber terbuka telah menyediakan satu set fungsi yang membolehkan pembangun mengakses membuka dan membaca fail hamparan XLSX sedia ada di dalam aplikasi Go mereka sendiri. Anda juga boleh mengakses helaian buku kerja dengan mudah dengan hanya beberapa arahan Go. Pembangun juga boleh mengakses helaian tertentu pilihan mereka dengan mudah.
Akses & Baca Fail Excel melalui Perpustakaan Go
func Example_access() {
xl, err := xlsx.Open("./test_files/example_simple.xlsx")
if err != nil {
log.Fatal(err)
}
defer xl.Close()
// Get sheet by 0-based index
sheet := xl.Sheet(0)
// Get cell by 0-based indexes
cell := sheet.Cell(13, 27)
fmt.Println(cell.Value())
// Get cell by reference
cell = sheet.CellByRef("N28")
fmt.Println(cell.Value())
// Get row by 0-based index
row := sheet.Row(9)
fmt.Println(strings.Join(row.Values(), ","))
// Get cell of row at 0-based col index
cell = row.Cell(0)
fmt.Println(cell.Value())
// Get col by 0-based index
col := sheet.Col(3)
fmt.Println(strings.Join(col.Values(), ","))
// Get cell of col at 0-based row index
cell = col.Cell(0)
fmt.Println(cell.Value())
// Get range by references
area := sheet.RangeByRef("D10:H13")
fmt.Println(strings.Join(area.Values(), ","))
}
Mengendalikan Baris dan Lajur dalam Lembaran Kerja
Sel ialah tulang belakang Lembaran Kerja Excel. Lembaran kerja terdiri daripada sel yang disusun dalam baris dan lajur. Pustaka xlsx memberikan pembangun perisian pelbagai ciri untuk mengendalikan baris dan lajur di dalam apl mereka menggunakan arahan Go. Ia menyokong penambahan baris dan lajur baharu, mengulangi baris dan lajur, memadamkan baris dan lajur yang tidak diingini, menambah sel baharu pada baris, mendapatkan nilai daripada sel, menggunakan pemformatan pada julat sel dan banyak lagi.
Sisipkan Lajur & Baris dalam Lembaran Kerja Excel melalui Perpustakaan Go
func Example_insert() {
xl, err := xlsx.Open("./test_files/example_simple.xlsx")
if err != nil {
log.Fatal(err)
}
defer xl.Close()
sheet := xl.Sheet(0)
fmt.Println(sheet.Dimension())
fmt.Println(strings.Join(sheet.Col(3).Values(), ","))
// Insert a new col
sheet.InsertCol(3)
fmt.Println(sheet.Dimension())
fmt.Println(strings.Join(sheet.Col(3).Values(), ","))
fmt.Println(strings.Join(sheet.Col(4).Values(), ","))
// Insert a new row
fmt.Println(strings.Join(sheet.Row(9).Values(), ","))
sheet.InsertRow(3)
fmt.Println(sheet.Dimension())
fmt.Println(strings.Join(sheet.Row(9).Values(), ","))
fmt.Println(strings.Join(sheet.Row(10).Values(), ","))
}
Gunakan Gaya dan Pemformatan
Pustaka xlsx percuma telah menyediakan beberapa fungsi penting yang membolehkan pembangun perisian menggunakan pemformatan dan gaya pada hamparan mereka dengan mudah. Gaya menyediakan reka letak dan hiasan sel seperti fon, warna, penjajaran kandungan, saiz fon, isian, dll. Anda boleh menggunakan gaya dengan mudah pada julat sel dengan hanya beberapa baris kod. Anda hanya perlu mencipta gaya sekali dan menggunakannya semula apabila diperlukan. Anda juga boleh menggunakan format nombor dan tarikh untuk sel.
Gunakan Gaya dan Pemformatan pada Fail Excel melalui Perpustakaan Go
gfunc Example_formatting() {
xl, err := xlsx.Open("./test_files/example_simple.xlsx")
if err != nil {
log.Fatal(err)
}
defer xl.Close()
// Create a new format for a bold font with red color and yellow solid background
redBold := styles.New(
styles.Font.Bold,
styles.Font.Color("#ff0000"),
styles.Fill.Background("#ffff00"),
styles.Fill.Type(styles.PatternTypeSolid),
)
// Add formatting to xlsx
styleID := xl.AddStyles(redBold)
sheet := xl.Sheet(0)
// Set formatting for cell
sheet.CellByRef("N28").SetStyles(styleID)
// Set DEFAULT formatting for row. Affects cells not yet allocated in the row.
// In other words, this style applies to new cells.
sheet.Row(9).SetStyles(styleID)
// Set DEFAULT formatting for col. Affects cells not yet allocated in the col.
// In other words, this style applies to new cells.
sheet.Col(3).SetStyles(styleID)
//set formatting for all cells in range
sheet.RangeByRef("D10:H13").SetStyles(styleID)
}