Gå till biblioteket för att arbeta med Excel XLSX-dokument
Open Source Go API som stöder Microsoft Excel XLSX Spreadsheet-generering, hantera kalkylblad, hantera rader och kolumner i kalkylblad via Go API.
xlsx-biblioteket ger ett mycket snabbt och tillförlitligt sätt att arbeta med Microsoft Excel-filer med hjälp av Go. Biblioteket hjälper till att förenkla läsning och skrivning av Excel XLSX-filformat. XLSX-filformatet introducerades 2007 och använder Open XML-standarden anpassad av Microsoft redan 2000. Biblioteket är öppen källkod och tillgängligt under licensen BSD-3-klausul.
Xlsx-biblioteket med öppen källkod har inkluderat stöd för flera viktiga funktioner relaterade till skapande och manipulering av Microsoft Excel-dokument, som att skapa en ny XlSX-fil, öppna befintliga Excel-filer, komma åt dina kalkylblad, lägga till nya kalkylblad, hantera rader och kolumner i ett kalkylblad, lägga till celler, hämta celler från en rad, formatera celler, tillämpa stilar på celler, stöd för namngivna intervall och mycket mer.
Komma igång med Xlsx2Go
Det rekommenderade sättet att installera xlsx är från GitHub, använd följande kommando för smidig installation.
Installera xlsx via GitHub
go get https://github.com/tealeg/xlsx.git
Skapa NYA XLSX-filer via Go Library
Xlsx-biblioteket med öppen källkod ger mjukvaruutvecklare möjlighet att skapa en ny tom XLSX-fil från början med ett par Go-kommandon. Utvecklarna kan använda den nya NewFile()-funktionen för att generera en ny fil. När den väl har skapats kan du enkelt lägga till nytt innehåll i arbetsboken. Du kan enkelt lägga till ett nytt ark eller lägga till ett befintligt ark. När du har skapat och arbetet är klart, spara ditt arbete, det rekommenderas Close() the sheet.
Skapa och redigera Excel LS-fil via 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)
}
}
Få åtkomst till och läs XLSX-filer
XLSX-biblioteket med öppen källkod har tillhandahållit en uppsättning funktioner som gör det möjligt för utvecklare att öppna och läsa en befintlig XLSX-kalkylarksfil i sina egna Go-applikationer. Du kan också enkelt komma åt ark i en arbetsbok med bara ett par Go-kommandon. Utvecklare kan också enkelt komma åt ett visst ark efter eget val.
Access och läs Excel File via 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(), ","))
}
Hantera rader och kolumner i kalkylblad
Celler är ryggraden i ett Excel-kalkylblad. Ett kalkylblad består av celler organiserade i rader och kolumner. xlsx-biblioteket ger mjukvaruutvecklare ett brett utbud av funktioner för att hantera rader och kolumner i sina appar med hjälp av Go-kommandon. Det stöder att lägga till nya rader och kolumner, iterera rader och kolumner, ta bort oönskade rader och kolumner, lägga till nya celler i en rad, hämta värde från en cell, tillämpa formatering på ett cellintervall och många fler.
Infoga kolumner och ross i ett Excel Worksheet via 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(), ","))
}
Använd stilar och formatering
Det fria biblioteket xlsx-biblioteket har tillhandahållit flera viktiga funktioner som gör det möjligt för mjukvaruutvecklare att använda formatering och stilar på sina kalkylblad med lätthet. Stilar ger layout och dekoration av celler som teckensnitt, färg, innehållsjustering, teckenstorlek, fyllning, etc. Du kan enkelt tillämpa stilen på ett antal celler med bara ett par rader kod. Du behöver bara skapa en stil en gång och återanvända den när det behövs. Du kan också använda nummer- och datumformat för celler.
Applicera stilar och formatering till Excel-fil via Go-biblioteket
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)
}