Accesați Bibliotecă pentru a lucra cu documente Excel XLSX
Open Source Go API care acceptă generarea de foi de calcul Microsoft Excel XLSX, gestionează foile de lucru, gestionează Rândurile și Coloanele din Foile de lucru prin API-ul Go.
Biblioteca xlsx oferă o modalitate foarte rapidă și fiabilă de a lucra cu fișiere Microsoft Excel folosind Go. Biblioteca ajută la simplificarea citirii și scrierii formatului de fișier Excel XLSX. Formatul de fișier XLSX a fost introdus în 2007 și folosește standardul Open XML adaptat de Microsoft încă din 2000. Biblioteca este open source și disponibilă sub licența BSD-3-Clause.
Biblioteca xlsx open source a inclus suport pentru mai multe caracteristici importante legate de crearea și manipularea documentelor Microsoft Excel, cum ar fi crearea unui nou fișier XlSX, deschiderea fișierelor Excel existente, accesarea foilor de lucru, adăugarea de noi foi de lucru, gestionarea rândurilor și coloanelor în interiorul unei foi de lucru, adăugarea celule, obținerea celulelor dintr-un rând, formatarea celulelor, aplicarea stilurilor celulelor, suport pentru intervale denumite și multe altele.
Noțiuni introductive cu Xlsx2Go
Modul recomandat de a instala xlsx este din GitHub. Vă rugăm să utilizați următoarea comandă pentru o instalare fără probleme.
Instalați xlsx prin GitHub
go get https://github.com/tealeg/xlsx.git
Crearea de NOI fișiere XLSX prin Go Library
Biblioteca Open Source xlsx oferă dezvoltatorilor de software capacitatea de a crea un nou fișier XLSX gol de la zero folosind câteva comenzi Go. Dezvoltatorii pot folosi noua funcție NewFile() pentru a genera un fișier nou. Odată creat, puteți adăuga cu ușurință conținut nou la registrul de lucru. Puteți adăuga cu ușurință o foaie nouă sau puteți adăuga o foaie existentă. Odată creată și lucrarea este finalizată, vă rugăm să salvați lucrarea, se recomandă Închideți()foaia.
Creați și editați fișierul Excel LS prin 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)
}
}
Accesați și citiți fișierele XLSX
Biblioteca Open Source xlsx a oferit un set de funcții care permit dezvoltatorilor să acceseze și să citească un fișier de foaie de calcul XLSX existent în propriile aplicații Go. De asemenea, puteți accesa cu ușurință foile unui registru de lucru cu doar câteva comenzi Go. De asemenea, dezvoltatorii pot accesa cu ușurință o anumită foaie la alegere.
Accesați fișierul Excel prin Go Library
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(), ","))
}
Gestionarea rândurilor și coloanelor în foile de lucru
Celulele sunt coloana vertebrală a unei foi de lucru Excel. O foaie de lucru este formată din celule organizate în rânduri și coloane. Biblioteca xlsx oferă dezvoltatorilor de software o gamă largă de funcții pentru gestionarea rândurilor și coloanelor din aplicațiile lor folosind comenzile Go. Acceptă adăugarea de noi rânduri și coloane, iterarea rândurilor și coloanelor, ștergerea rândurilor și coloanelor nedorite, adăugarea de noi celule într-un rând, obținerea de valoare dintr-o celulă, aplicarea formatării unei game de celule și multe altele.
Inserați Coloane Ross într-o foaie de lucru Excel prin Go Library
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(), ","))
}
Aplicați stiluri și formatare
Biblioteca gratuită xlsx a oferit câteva funcții importante care permit dezvoltatorilor de software să aplice cu ușurință formatarea și stilurile foilor de calcul. Stilurile oferă aspectul și decorarea celulelor, cum ar fi fontul, culoarea, alinierea conținutului, dimensiunea fontului, umplerea etc. Puteți aplica cu ușurință stilul unei game de celule cu doar câteva linii de cod. Trebuie doar să creați un stil o dată și să-l refolosiți atunci când este necesar. De asemenea, puteți aplica formate de număr și dată pentru celule.
Aplicați Stiluri și Formatare în Excel File via Go Library
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)
}