1. Produkti
  2.   Izklājlapa
  3.   GO
  4.   unioffice
 
  

Atvērtā pirmkoda Go Library Excel XLSX failu izveidei

Lasiet, rakstiet, rediģējiet Microsoft Excel XLSX dokumentus, izmantojot Open Source Go API. Pievienojiet izklājlapām vairākas diagrammas, attēlus un tabulas. 

Unioffice ir atvērtā pirmkoda tīrā go bibliotēka, kas programmatūras izstrādātājiem sniedz iespēju ģenerēt, modificēt un manipulēt ar Office Excel XLSX dokumentiem savās Go lietojumprogrammās. Bibliotēka ir ļoti stabila un nodrošina visaugstāko produktivitātes pakāpi ar ļoti mazām pūlēm un izmaksām.

Atvērtā koda unioffice bibliotēka pilnībā atbalsta vairākas svarīgas funkcijas, kas saistītas ar Excel izklājlapu izveidi un modifikācijām, piemēram, jaunu Excel lapu izveidi no jauna, šūnu izveidi ar dažādiem skaitļu/datuma/laika formātiem, Excel šūnu formatējumu, šūnu validācijas atbalstu, šūnu vērtību izgūšanu. kā formatēts programmā Excel, nosacījumformatēšana, šūnu sapludināšana un apvienošana, datu validācija, tostarp kombinētā lodziņa nolaižamās izvēlnes, iegultie attēli un daudz kas cits.

Previous Next

Darba sākšana ar unioffice

Ieteicamais veids, kā apvienoties savā projektā, ir izmantot Github. Lūdzu, izmantojiet šo komandu vienmērīgai instalēšanai.

Instalējiet unioffice, izmantojot GitHub

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

Excel XLSX izveide, izmantojot Go API

Atvērtā pirmkoda bibliotēkas unioffice ļauj datorprogrammētājiem izveidot Excel XLSX izklājlapu savās Go lietojumprogrammās. Tas sniedz jums iespēju esošajiem Excel dokumentiem pievienot jaunu lapu, piešķirt lapai nosaukumu un saglabāt failu jūsu izvēlētajā ceļā. Tas arī nodrošina atbalstu vairākām svarīgām funkcijām, piemēram, jaunu rindu un kolonnu pievienošanai lapai, rindu un kolonnu skaita noteikšanai, šūnas noklusējuma vērtības iestatīšanai un citiem. Varat arī viegli atvērt un modificēt esošo izklājlapu.

Izveidojiet vienkāršu Excel failu, izmantojot 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")
} 

Pievienojiet Excel XLSX failam vairākas diagrammas

Unioffice bibliotēka ir nodrošinājusi atbalstu diagrammu pievienošanai Excel izklājlapai, izmantojot tikai dažas koda rindiņas. Varat izveidot diagrammas, pamatojoties uz pieejamajiem datiem darblapā, kā arī bez jebkādu datu pieejamības. Diagrammas sniedz iespēju vizuāli attēlot datus dažādos formātos, piemēram, joslu, kolonnu, sektoru, līniju, apgabalu vai radaru utt. Izstrādātāji var viegli izvēlēties no pieejamajām diagrammu opcijām un kontrolēt to vērtības.

Ievietojiet vairākas diagrammas Excel failā, izmantojot 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)
}

Ievietojiet attēlus XLSX izklājlapās

Unioffice bibliotēka pilnībā atbalsta attēlu iekļaušanu XLSX izklājlapās, izmantojot tikai dažas Go koda rindiņas. Tā atbalsta attēlu modificēšanu, kā arī esošo attēlu dzēšanu XLSX darblapā. Tas nodrošina arī iespējas ievietot attēlu un iestatīt tā rekvizītus, piemēram, izmēru, pozīciju utt., kā arī drukāšanas atbalstu.

Ievietojiet attēlus Excel failā, izmantojot 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")
}

Lietojiet nosacījumu formatējumu izklājlapas šūnās

Nosacītā formatēšana ir noderīga funkcija, kas palīdz Excel lietotājiem lietot formātu šūnai vai šūnu diapazonam, pamatojoties uz noteiktiem kritērijiem. Unioffice bibliotēka ir nodrošinājusi funkcionalitāti, kas ļauj programmatūras izstrādātājiem lietot nosacītu formatējumu savai izklājlapai, izmantojot tikai dažas Go komandas. Bibliotēkā ir iekļauts atbalsts nosacītai šūnu formatēšanai, stilam, gradientiem, ikonām, datu joslai un daudz ko citu.

 Latviski