1. Produkter
  2.   Regneark
  3.   GO
  4.   unioffice
 
  

Open Source Go-bibliotek til oprettelse af Excel XLSX-filer

Læs, skriv, rediger Microsoft Excel XLSX-dokumenter via Open Source Go API. Tilføj flere diagrammer, billeder og tabeller i dine regneark. 

Unioffice er et open source ren go-bibliotek, der giver softwareudviklere mulighed for at generere, ændre og manipulere Office Excel XLSX-dokumenter i deres egne Go-applikationer. Biblioteket er meget stabilt og giver den højeste grad af produktivitet med meget lidt indsats og omkostninger.

Open source unioffice-biblioteket understøtter fuldt ud adskillige vigtige funktioner relateret til oprettelse og ændringer af Excel-regneark, såsom oprettelse af nye Excel-ark fra bunden, oprettelse af celler med forskellige tal/dato/tidsformater, Excel-celleformatering, understøttelse af cellevalidering, Hent celleværdier som formateret af Excel, betinget formatering, Flet og ophæv fletning af celler, datavalidering inklusive rullemenuer med kombinationsbokse, Embedded Images og meget mere.

Previous Next

Kom godt i gang med unioffice

Den anbefalede måde at unioffice ind i dit projekt er ved at bruge Github. Brug venligst følgende kommando for en problemfri installation.

Installer unioffice via GitHub

go get github.com/unidoc/unioffice/
go build -i github.com/unidoc/unioffice/... 

Excel XLSX-oprettelse via Go API

Open source-biblioteket unioffice giver computerprogrammører mulighed for at oprette et Excel XLSX-regneark i deres egne Go-applikationer. Det giver dig mulighed for at tilføje et nyt ark til dine eksisterende Excel-dokumenter og tildele et navn til et ark og gemme filen på stien efter eget valg. Det giver også understøttelse af flere vigtige funktioner, såsom tilføjelse af nye rækker og kolonner til et ark, definering af antallet af rækker og kolonner, indstilling af standardværdien for en celle og mere. Du kan også nemt åbne og ændre det eksisterende regneark.

Opret en simpel Excel-fil 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")
} 

Tilføj flere diagrammer til en Excel XLSX-fil

Unioffice-biblioteket har ydet støtte til at tilføje diagrammer til et Excel-regneark med blot et par linjer kode. Du kan oprette diagrammer baseret på de tilgængelige data i dit regneark såvel som uden tilgængelighed af data overhovedet. Diagrammer giver dig mulighed for visuelt at vise data i forskellige formater såsom søjle, kolonne, cirkel, linje, område eller radar osv. Udviklere kan nemt vælge fra de tilgængelige diagramindstillinger og kan kontrollere deres værdier.

Indsæt flere diagrammer til Excel-fil 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)
}

Indsæt billeder til XLSX-regneark

Unioffice-biblioteket understøtter fuldt ud inkludering af billeder i XLSX-regneark med kun et par linjer Go-kode. Det understøtter ændring af billeder samt sletning af eksisterende billeder inde i et XLSX-regneark. Det giver også muligheder for at indsætte et billede og indstille dets egenskaber som størrelse, position osv. samt udskrivningsstøtte.

Indsæt billeder til Excel-fil 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")
}

Anvend betinget formatering på regnearkets celler

Betinget formatering er en nyttig funktion, der hjælper Excel-brugere med at anvende et format på en celle eller en række celler baseret på bestemte kriterier. Unioffice-biblioteket har leveret funktionalitet, der gør det muligt for softwareudviklere at anvende betinget formatering på deres regneark med blot et par Go-kommandoer. Biblioteket har inkluderet understøttelse af betinget formatering af celler, styling, gradienter, ikoner, datalinje og mere, der kommer.

 Dansk