Open Source Go Library per la creazione di file XLSX di Excel
Leggi, scrivi, modifica documenti XLSX di Microsoft Excel tramite l'API Go Open Source. Aggiungi più grafici, immagini e tabelle all'interno dei tuoi fogli di lavoro.
Unioffice è una libreria open source pure go che offre agli sviluppatori di software la possibilità di generare, modificare e manipolare documenti Office Excel XLSX all'interno delle proprie applicazioni Go. La libreria è molto stabile e fornisce il massimo grado di produttività con sforzi e costi minimi.
La libreria unioffice open source supporta completamente diverse importanti funzionalità relative alla creazione e alle modifiche di fogli di calcolo Excel, come la creazione di nuovi fogli Excel da zero, la creazione di celle con vari formati di numero/data/ora, formattazione di celle di Excel, supporto per la convalida delle celle, recupero dei valori delle celle come formattato da Excel, formattazione condizionale, unisci e separa celle, convalida dei dati inclusi menu a discesa delle caselle combinate, immagini incorporate e molto altro.
Per iniziare con unioffice
Il modo consigliato per unioffice nel tuo progetto è utilizzare Github. Si prega di utilizzare il comando seguente per un'installazione senza problemi.
Installa unioffice tramite GitHub
go get github.com/unidoc/unioffice/
go build -i github.com/unidoc/unioffice/...
Creazione di Excel XLSX tramite l'API Go
La libreria open source unioffice consente ai programmatori di computer di creare un foglio di calcolo Excel XLSX all'interno delle proprie applicazioni Go. Ti dà la possibilità di aggiungere un nuovo foglio ai tuoi documenti Excel esistenti e assegnare un nome a un foglio e salvare il file nel percorso di tua scelta. Fornisce inoltre supporto per diverse funzionalità importanti come l'aggiunta di nuove righe e colonne a un foglio, la definizione del numero di righe e colonne, l'impostazione del valore predefinito di una cella e altro ancora. Puoi anche aprire e modificare facilmente il foglio di calcolo esistente.
Crea file Excel semplice tramite 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")
}
Aggiungi più grafici a un file XLSX di Excel
La libreria unioffice ha fornito supporto per l'aggiunta di grafici a un foglio di calcolo Excel con solo un paio di righe di codice. Puoi creare grafici in base ai dati disponibili nel tuo foglio di lavoro e senza la disponibilità di alcun dato. I grafici ti danno la possibilità di visualizzare visivamente i dati in diversi formati come barra, colonna, torta, linea, area o radar, ecc. Gli sviluppatori possono selezionare facilmente tra le opzioni del grafico disponibili e possono controllarne i valori.
Inserisci grafici multipli per file Excel via 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)
}
Inserisci immagini nei fogli di calcolo XLSX
La libreria unioffice supporta pienamente l'inclusione di immagini nei fogli di calcolo XLSX con solo un paio di righe di codice Go. Supporta la modifica delle immagini e l'eliminazione di immagini esistenti all'interno di un foglio di lavoro XLSX. Fornisce inoltre opzioni per inserire un'immagine e impostarne le proprietà come dimensione, posizione, ecc. oltre al supporto per la stampa.
Inserire immagini in file Excel 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")
}
Applica la formattazione condizionale alle celle del foglio di calcolo
La formattazione condizionale è una funzione utile che aiuta gli utenti di Excel ad applicare un formato a una cella oa un intervallo di celle in base a determinati criteri. La libreria unioffice ha fornito funzionalità che consentono agli sviluppatori di software di applicare la formattazione condizionale al proprio foglio di calcolo con solo un paio di comandi Vai. La libreria ha incluso il supporto per la formattazione condizionata di celle, stili, sfumature, icone, barra dei dati e altro ancora.