Ga naar Bibliotheek om te werken met Excel XLSX-documenten
Open Source Go-API die het genereren van Microsoft Excel XLSX-spreadsheets ondersteunt, werkbladen beheert en rijen en kolommen in werkbladen verwerkt via Go API.
De xlsx-bibliotheek biedt een zeer snelle en betrouwbare manier om met Microsoft Excel-bestanden te werken met Go. De bibliotheek helpt het lezen en schrijven van het Excel XLSX-bestandsformaat te vereenvoudigen. Het XLSX-bestandsformaat is geïntroduceerd in 2007 en maakt gebruik van de Open XML-standaard die in 2000 door Microsoft is aangepast. De bibliotheek is open source en beschikbaar onder de BSD-3-Clause-licentie.
De open source xlsx-bibliotheek biedt ondersteuning voor verschillende belangrijke functies met betrekking tot het maken en manipuleren van Microsoft Excel-documenten, zoals het maken van een nieuw XlSX-bestand, het openen van bestaande Excel-bestanden, het openen van uw werkbladen, het toevoegen van nieuwe werkbladen, het beheren van rijen en kolommen in een werkblad, het toevoegen van cellen, cellen uit een rij halen, cellen opmaken, stijlen toepassen op cellen, benoemde bereiken ondersteunen en nog veel meer.
Aan de slag met Xlsx2Go
De aanbevolen manier om xlsx te installeren is vanaf GitHub. Gebruik de volgende opdracht voor een vlotte installatie.
Installeer xlsx via GitHub
go get https://github.com/tealeg/xlsx.git
NIEUWE XLSX-bestanden maken via Go Library
De Open source xlsx-bibliotheek geeft softwareontwikkelaars de mogelijkheid om met een paar Go-commando's een nieuw leeg XLSX-bestand te maken. De ontwikkelaars kunnen de nieuwe functie NewFile() gebruiken om een nieuw bestand te genereren. Zodra het is gemaakt, kunt u eenvoudig nieuwe inhoud aan de werkmap toevoegen. U kunt eenvoudig een nieuw blad toevoegen of een bestaand blad toevoegen. Eenmaal gemaakt en het werk is voltooid, sla uw werk op, het wordt aanbevolen Sluit()het blad.
Vertaling:
// 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)
}
}
XLSX-bestanden openen en lezen
De Open source xlsx-bibliotheek heeft een reeks functies geboden waarmee ontwikkelaars een bestaand XLSX-spreadsheetbestand kunnen openen en lezen in hun eigen Go-applicaties. U kunt ook gemakkelijk toegang krijgen tot bladen van een werkmap met slechts een paar Go-opdrachten. Ontwikkelaars hebben ook gemakkelijk toegang tot een bepaald blad naar keuze.
Access Read Excel File via Go bibliotheek
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(), ","))
}
Omgaan met rijen en kolommen in werkbladen
Cellen vormen de ruggengraat van een Excel-werkblad. Een werkblad bestaat uit cellen die in rijen en kolommen zijn gerangschikt. De xlsx-bibliotheek biedt softwareontwikkelaars een breed scala aan functies voor het verwerken van rijen en kolommen in hun apps met behulp van Go-opdrachten. Het ondersteunt het toevoegen van nieuwe rijen en kolommen, het herhalen van rijen en kolommen, het verwijderen van ongewenste rijen en kolommen, het toevoegen van nieuwe cellen aan een rij, het verkrijgen van waarde uit een cel, het toepassen van opmaak op een reeks cellen en nog veel meer.
Insert Columns Ross in een Excel Worksheet via Go bibliotheek
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(), ","))
}
Stijlen en opmaak toepassen
De gratis bibliotheek xlsx-bibliotheek heeft verschillende belangrijke functies geboden waarmee softwareontwikkelaars gemakkelijk opmaak en stijlen op hun spreadsheets kunnen toepassen. Stijlen bieden lay-out en decoratie van cellen, zoals lettertype, kleur, uitlijning van inhoud, lettergrootte, opvulling, enz. U kunt de stijl eenvoudig toepassen op een reeks cellen met slechts een paar regels code. U hoeft slechts één keer een stijl te maken en deze indien nodig opnieuw te gebruiken. U kunt ook getal- en datumnotaties toepassen op cellen.
Verzamel Styles en Formatting naar Excel File via Go bibliotheek
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)
}