Open-Source-Go-Bibliothek zum Erstellen von Excel-XLSX-Dateien
Lesen, schreiben, bearbeiten Sie Microsoft Excel XLSX-Dokumente über Open Source Go API. Fügen Sie mehrere Diagramme, Bilder und Tabellen in Ihre Tabellenkalkulationen ein.
Unioffice ist eine reine Open-Source-Go-Bibliothek, die Softwareentwicklern die Möglichkeit gibt, Office Excel XLSX-Dokumente in ihren eigenen Go-Anwendungen zu generieren, zu ändern und zu manipulieren. Die Bibliothek ist sehr stabil und bietet ein Höchstmaß an Produktivität bei sehr geringem Aufwand und Kosten.
Die Open-Source-Unioffice-Bibliothek unterstützt mehrere wichtige Funktionen im Zusammenhang mit der Erstellung und Änderung von Excel-Tabellen vollständig, z wie von Excel formatiert, bedingte Formatierung, Zellen verbinden und trennen, Datenvalidierung einschließlich Dropdown-Menüs für Kombinationsfelder, eingebettete Bilder und vieles mehr.
Erste Schritte mit unioffice
Die empfohlene Möglichkeit, unioffice in Ihr Projekt einzufügen, ist die Verwendung von Github. Bitte verwenden Sie den folgenden Befehl für eine reibungslose Installation.
Installieren Sie unioffice über GitHub
go get github.com/unidoc/unioffice/
go build -i github.com/unidoc/unioffice/...
Excel XLSX-Erstellung über die Go-API
Die Open-Source-Bibliothek unioffice ermöglicht Computerprogrammierern, eine Excel-XLSX-Tabelle in ihren eigenen Go-Anwendungen zu erstellen. Es gibt Ihnen die Möglichkeit, Ihren bestehenden Excel-Dokumenten ein neues Blatt hinzuzufügen, einem Blatt einen Namen zuzuweisen und die Datei unter dem Pfad Ihrer Wahl zu speichern. Es bietet auch Unterstützung für mehrere wichtige Funktionen wie das Hinzufügen neuer Zeilen und Spalten zu einem Blatt, das Definieren der Anzahl von Zeilen und Spalten, das Festlegen des Standardwerts einer Zelle und mehr. Sie können auch die vorhandene Tabelle problemlos öffnen und ändern.
Create Simple Excel File via Go Library
func main() {
ss := spreadsheet.New()
defer ss.Close()
// add a single sheet
sheet := ss.AddSheet()
// rows
for r := 0; r < 5; r++ {
row := sheet.AddRow()
// and cells
for c := 0; c < 5; c++ {
cell := row.AddCell()
cell.SetString(fmt.Sprintf("row %d cell %d", r, c))
}
}
if err := ss.Validate(); err != nil {
log.Fatalf("error validating sheet: %s", err)
}
ss.SaveToFile("simple.xlsx")
}
Hinzufügen mehrerer Diagramme zu einer Excel-XLSX-Datei
Die Unioffice-Bibliothek bietet Unterstützung für das Hinzufügen von Diagrammen zu einer Excel-Tabelle mit nur wenigen Codezeilen. Sie können Diagramme sowohl basierend auf den verfügbaren Daten in Ihrem Arbeitsblatt als auch ohne die Verfügbarkeit von Daten erstellen. Diagramme geben Ihnen die Möglichkeit, Daten in verschiedenen Formaten wie Balken, Säulen, Kreisen, Linien, Flächen oder Radar usw. visuell darzustellen. Entwickler können einfach aus den verfügbaren Diagrammoptionen auswählen und ihre Werte steuern.
Fügen Sie mehrere Charts in die Excel-Datei via Go API ein.
func main() {
ss := spreadsheet.New()
defer ss.Close()
sheet := ss.AddSheet()
// Create all of our data
row := sheet.AddRow()
row.AddCell().SetString("Item")
row.AddCell().SetString("Price")
row.AddCell().SetString("# Sold")
row.AddCell().SetString("Total")
for r := 0; r < 5; r++ {
row := sheet.AddRow()
row.AddCell().SetString(fmt.Sprintf("Product %d", r+1))
row.AddCell().SetNumber(1.23 * float64(r+1))
row.AddCell().SetNumber(float64(r%3 + 1))
row.AddCell().SetFormulaRaw(fmt.Sprintf("C%d*B%d", r+2, r+2))
}
// Charts need to reside in a drawing
dwng := ss.AddDrawing()
chrt1, anc1 := dwng.AddChart(spreadsheet.AnchorTypeTwoCell)
chrt2, anc2 := dwng.AddChart(spreadsheet.AnchorTypeTwoCell)
addBarChart(chrt1)
addLineChart(chrt2)
anc1.SetWidth(9)
anc1.MoveTo(5, 1)
anc2.MoveTo(1, 23)
// and finally add the chart to the sheet
sheet.SetDrawing(dwng)
if err := ss.Validate(); err != nil {
log.Fatalf("error validating sheet: %s", err)
}
ss.SaveToFile("multiple-chart.xlsx")
}
func addBarChart(chrt chart.Chart) {
chrt.AddTitle().SetText("Bar Chart")
lc := chrt.AddBarChart()
priceSeries := lc.AddSeries()
priceSeries.SetText("Price")
// Set a category axis reference on the first series to pull the product names
priceSeries.CategoryAxis().SetLabelReference(`'Sheet 1'!A2:A6`)
priceSeries.Values().SetReference(`'Sheet 1'!B2:B6`)
soldSeries := lc.AddSeries()
soldSeries.SetText("Sold")
soldSeries.Values().SetReference(`'Sheet 1'!C2:C6`)
totalSeries := lc.AddSeries()
totalSeries.SetText("Total")
totalSeries.Values().SetReference(`'Sheet 1'!D2:D6`)
// the line chart accepts up to two axes
ca := chrt.AddCategoryAxis()
va := chrt.AddValueAxis()
lc.AddAxis(ca)
lc.AddAxis(va)
ca.SetCrosses(va)
va.SetCrosses(ca)
}
Bilder in XLSX-Tabellen einfügen
Die unioffice-Bibliothek unterstützt vollständig die Einbindung von Bildern in XLSX-Tabellen mit nur ein paar Zeilen Go-Code. Es unterstützt das Ändern von Bildern sowie das Löschen vorhandener Bilder in einem XLSX-Arbeitsblatt. Es bietet auch Optionen zum Einfügen eines Bildes und zum Festlegen seiner Eigenschaften wie Größe, Position usw. sowie Druckunterstützung.
Fügen Sie Bilder in Excel-Datei via Go API
func main() {
ss := spreadsheet.New()
defer ss.Close()
// add a single sheet
sheet := ss.AddSheet()
img, err := common.ImageFromFile("gophercolor.png")
if err != nil {
log.Fatalf("unable to create image: %s", err)
}
iref, err := ss.AddImage(img)
if err != nil {
log.Fatalf("unable to add image to workbook: %s", err)
}
dwng := ss.AddDrawing()
sheet.SetDrawing(dwng)
for i := float64(0); i < 360; i += 30 {
anc := dwng.AddImage(iref, spreadsheet.AnchorTypeAbsolute)
ang := i * math.Pi / 180
x := 2 + 2*math.Cos(ang)
y := 2 + +2*math.Sin(ang)
anc.SetColOffset(measurement.Distance(x) * measurement.Inch)
anc.SetRowOffset(measurement.Distance(y) * measurement.Inch)
// set the image to 1x1 inches
var w measurement.Distance = 1 * measurement.Inch
anc.SetWidth(w)
anc.SetHeight(iref.RelativeHeight(w))
}
if err := ss.Validate(); err != nil {
log.Fatalf("error validating sheet: %s", err)
}
ss.SaveToFile("image.xlsx")
}
Wenden Sie die bedingte Formatierung auf die Zellen der Tabelle an
Die bedingte Formatierung ist eine nützliche Funktion, die Excel-Benutzern hilft, ein Format basierend auf bestimmten Kriterien auf eine Zelle oder einen Zellbereich anzuwenden. Die Unioffice-Bibliothek hat Funktionen bereitgestellt, die es Softwareentwicklern ermöglichen, mit nur ein paar Go-Befehlen eine bedingte Formatierung auf ihre Tabellenkalkulation anzuwenden. Die Bibliothek hat Unterstützung für die bedingte Formatierung von Zellen, Stilen, Farbverläufen, Symbolen, Datenleisten und mehr enthalten.