Gehen Sie zur Bibliothek, um mit Excel-XLSX-Dokumenten zu arbeiten
Open-Source-Go-API, die die Generierung von Microsoft Excel XLSX-Tabellen unterstützt, Arbeitsblätter verwaltet und Zeilen und Spalten in Arbeitsblättern über die Go-API handhabt.
Die xlsx-Bibliothek bietet eine sehr schnelle und zuverlässige Möglichkeit für die Arbeit mit Microsoft Excel-Dateien mit Go. Die Bibliothek hilft, das Lesen und Schreiben des Excel XLSX-Dateiformats zu vereinfachen. Das XLSX-Dateiformat wurde 2007 eingeführt und verwendet den Open XML-Standard, der bereits 2000 von Microsoft angepasst wurde. Die Bibliothek ist Open Source und unter der BSD-3-Clause-Lizenz verfügbar.
Die Open-Source-xlsx-Bibliothek bietet Unterstützung für mehrere wichtige Funktionen im Zusammenhang mit der Erstellung und Bearbeitung von Microsoft Excel-Dokumenten, z. B. Erstellen einer neuen XlSX-Datei, Öffnen vorhandener Excel-Dateien, Zugreifen auf Ihre Arbeitsblätter, Hinzufügen neuer Arbeitsblätter, Verwalten von Zeilen und Spalten in einem Arbeitsblatt, Hinzufügen Zellen, Zelle aus einer Zeile abrufen, Zellen formatieren, Stile auf Zellen anwenden, benannte Bereiche unterstützen und vieles mehr.
Erste Schritte mit Xsx2Go
Die empfohlene Methode zur Installation von xlsx ist von GitHub. Bitte verwenden Sie den folgenden Befehl für eine reibungslose Installation.
Installieren Sie xlsx über GitHub
go get https://github.com/tealeg/xlsx.git
Erstellen von NEUEN XLSX-Dateien über die Go-Bibliothek
Die Open-Source-xlsx-Bibliothek gibt Softwareentwicklern die Möglichkeit, mit ein paar Go-Befehlen eine neue leere XLSX-Datei von Grund auf neu zu erstellen. Die Entwickler können die neue NewFile()-Funktion verwenden, um eine neue Datei zu generieren. Sobald es erstellt ist, können Sie der Arbeitsmappe ganz einfach neue Inhalte hinzufügen. Sie können ganz einfach ein neues Blatt hinzufügen oder ein vorhandenes Blatt anhängen. Sobald die Arbeit erstellt und abgeschlossen ist, speichern Sie bitte Ihre Arbeit, es wird empfohlen, das Blatt zu schließen.
Erstellen & Bearbeiten Excel LS Datei 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)
}
}
Greifen Sie auf XLSX-Dateien zu und lesen Sie sie
Die Open-Source-xlsx-Bibliothek hat eine Reihe von Funktionen bereitgestellt, die es Entwicklern ermöglichen, auf eine vorhandene XLSX-Tabellenkalkulationsdatei in ihren eigenen Go-Anwendungen zuzugreifen und sie zu lesen. Mit nur wenigen Go-Befehlen können Sie auch ganz einfach auf Blätter einer Arbeitsmappe zugreifen. Entwickler können auch problemlos auf ein bestimmtes Blatt ihrer Wahl zugreifen.
Access & Read 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(), ","))
}
Umgang mit Zeilen und Spalten in Arbeitsblättern
Zellen sind das Rückgrat eines Excel-Arbeitsblatts. Ein Arbeitsblatt besteht aus Zellen, die in Zeilen und Spalten organisiert sind. Die xlsx-Bibliothek bietet Softwareentwicklern eine breite Palette von Funktionen zum Umgang mit Zeilen und Spalten in ihren Apps mithilfe von Go-Befehlen. Es unterstützt das Hinzufügen neuer Zeilen und Spalten, das Iterieren von Zeilen und Spalten, das Löschen unerwünschter Zeilen und Spalten, das Hinzufügen neuer Zellen zu einer Zeile, das Abrufen von Werten aus einer Zelle, das Anwenden von Formatierungen auf einen Bereich von Zellen und vieles mehr.
Columns & Ross in einem Excel Worksheet via Go Library einfügen.
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(), ","))
}
Stile und Formatierung anwenden
Die xlsx-Bibliothek der kostenlosen Bibliothek hat mehrere wichtige Funktionen bereitgestellt, die es Softwareentwicklern ermöglichen, Formatierungen und Stile problemlos auf ihre Tabellenkalkulationen anzuwenden. Stile bieten Layout und Dekoration von Zellen wie Schriftart, Farbe, Inhaltsausrichtung, Schriftgröße, Füllung usw. Sie können den Stil mit nur wenigen Codezeilen ganz einfach auf eine Reihe von Zellen anwenden. Sie müssen einen Stil nur einmal erstellen und ihn bei Bedarf wiederverwenden. Sie können auch Zahlen- und Datumsformate für Zellen anwenden.
Verwenden Sie Styles und Formatierung in Excel-Datei über 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)
}