Open Source Go Library pentru a crea fișiere Excel XLSX
Citiți, scrieți, editați documente Microsoft Excel XLSX prin Open Source Go API. Adăugați mai multe diagrame, imagini și tabele în foile de calcul.
Unioffice este o bibliotecă open source pură care oferă dezvoltatorilor de software capacitatea de a genera, modifica și manipula documente Office Excel XLSX în cadrul propriilor aplicații Go. Biblioteca este foarte stabilă și oferă cel mai înalt grad de productivitate cu foarte puțin efort și costuri.
Biblioteca unioffice open source acceptă pe deplin câteva caracteristici importante legate de crearea și modificările foilor de calcul Excel, cum ar fi crearea de noi foi Excel de la zero, crearea de celule cu diferite formate de număr/dată/ora, formatarea celulelor Excel, suport pentru validarea celulelor, preluarea valorilor celulelor așa cum este formatat de Excel, formatare condiționată, îmbinare și dezbinare celule, validarea datelor, inclusiv meniuri derulante din casete combinate, imagini încorporate și multe altele.
Noțiuni introductive cu unioffice
Modul recomandat de a unioffice în proiectul dvs. este să utilizați Github. Vă rugăm să utilizați următoarea comandă pentru o instalare fără probleme.
Instalați unioffice prin GitHub
go get github.com/unidoc/unioffice/
go build -i github.com/unidoc/unioffice/...
Creare Excel XLSX prin Go API
Biblioteca open source unioffice permite programatorilor să creeze o foaie de calcul Excel XLSX în propriile aplicații Go. Vă oferă posibilitatea de a adăuga o nouă foaie la documentele dvs. Excel existente și de a atribui un nume unei foi și de a salva fișierul pe calea dorită. De asemenea, oferă suport pentru câteva caracteristici importante, cum ar fi adăugarea de noi rânduri și coloane pe o foaie, definirea numărului de rânduri și coloane, setarea valorii implicite a unei celule și multe altele. De asemenea, puteți deschide și modifica cu ușurință foaia de calcul existentă.
Creați fișier Excel simplu prin 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")
}
Adăugați mai multe diagrame într-un fișier Excel XLSX
Biblioteca unioffice a oferit suport pentru adăugarea de diagrame la o foaie de calcul Excel cu doar câteva linii de cod. Puteți crea diagrame pe baza datelor disponibile în foaia dvs. de lucru, precum și fără disponibilitatea niciunei date. Diagramele vă oferă posibilitatea de a afișa vizual date în diferite formate, cum ar fi bară, coloană, plăcintă, linie, zonă sau radar, etc. Dezvoltatorii pot selecta cu ușurință dintre opțiunile de diagramă disponibile și pot controla valorile acestora.
Introduceți mai multe diagrame în Excel File prin Go API
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)
}
Inserați imagini în foile de calcul XLSX
Biblioteca unioffice acceptă pe deplin includerea de imagini în foile de calcul XLSX cu doar câteva rânduri de cod Go. Acceptă modificarea imaginilor, precum și ștergerea imaginilor existente într-o foaie de lucru XLSX. De asemenea, oferă opțiuni pentru a insera o imagine și a seta proprietățile acesteia, cum ar fi dimensiunea, poziția etc., precum și suport pentru imprimare.
Introduceți imagini în Excel File prin 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")
}
Aplicați formatarea condiționată pe celulele foii de calcul
Formatarea condiționată este o caracteristică utilă care ajută utilizatorii Excel să aplice un format unei celule sau unei game de celule pe baza anumitor criterii. Biblioteca unioffice a oferit o funcționalitate care le permite dezvoltatorilor de software să aplice formatare condiționată foii de calcul cu doar câteva comenzi Go. Biblioteca a inclus suport pentru formatarea condiționată a celulelor, stilul, gradienții, pictogramele, bara de date și multe altele.