1. Produktai
  2.   Skaičiuoklė
  3.   GO
  4.   unioffice
 
  

Atvirojo šaltinio „Go Library“, skirtą „Excel“ XLSX failams kurti

Skaitykite, rašykite, redaguokite „Microsoft Excel XLSX“ dokumentus naudodami atvirojo kodo „Go“ API. Į savo skaičiuokles įtraukite kelias diagramas, vaizdus ir lenteles. 

„Unioffice“ yra atvirojo kodo „pure go“ biblioteka, suteikianti programinės įrangos kūrėjams galimybę kurti, modifikuoti ir valdyti „Office Excel XLSX“ dokumentus savo „Go“ programose. Biblioteka yra labai stabili ir užtikrina didžiausią produktyvumą su labai mažai pastangų ir išlaidų.

Atvirojo kodo unioffice biblioteka visiškai palaiko keletą svarbių funkcijų, susijusių su „Excel“ skaičiuoklės kūrimu ir keitimu, pvz., naujų „Excel“ lapų kūrimas nuo nulio, langelių su įvairiais skaičių / datos / laiko formatais kūrimas, „Excel“ langelio formatavimas, langelių patvirtinimo palaikymas, ląstelių verčių gavimas. kaip suformatuotas „Excel“, sąlyginis formatavimas, langelių sujungimas ir sujungimas, duomenų patvirtinimas, įskaitant išskleidžiamuosius sąrašus, įterptieji vaizdai ir daug daugiau.

Previous Next

Darbo su unioffice pradžia

Rekomenduojamas būdas prisijungti prie projekto yra naudoti „Github“. Norėdami sklandžiai įdiegti, naudokite šią komandą.

Įdiekite „unioffice“ per „GitHub“.

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

„Excel XLSX“ kūrimas naudojant „Go API“.

Atvirojo kodo bibliotekos unioffice leidžia kompiuterių programuotojams sukurti „Excel XLSX“ skaičiuoklę savo „Go“ programose. Tai suteikia galimybę pridėti naują lapą prie esamų „Excel“ dokumentų, priskirti lapui pavadinimą ir išsaugoti failą pasirinktu keliu. Ji taip pat palaiko keletą svarbių funkcijų, tokių kaip naujų eilučių ir stulpelių įtraukimas į lapą, eilučių ir stulpelių skaičiaus nustatymas, numatytosios langelio reikšmės nustatymas ir kt. Taip pat galite lengvai atidaryti ir modifikuoti esamą skaičiuoklę.

Sukurkite paprastą „Excel“ failą naudodami „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")
} 

Pridėkite kelias diagramas prie „Excel XLSX“ failo

„Unioffice“ biblioteka suteikė palaikymą, norint pridėti diagramas į „Excel“ skaičiuoklę, naudojant tik kelias kodo eilutes. Galite kurti diagramas pagal turimus duomenis darbalapyje, taip pat neturėdami jokių duomenų. Diagramos suteikia galimybę vizualiai rodyti duomenis įvairiais formatais, tokiais kaip juosta, stulpelis, stulpelis, linija, sritis arba radaras ir kt. Kūrėjai gali lengvai pasirinkti iš galimų diagramos parinkčių ir valdyti jų reikšmes.

Įdėkite kelias diagramas į „Excel“ failą naudodami „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)
}

Įterpti vaizdus į XLSX skaičiuokles

„Unioffice“ biblioteka visiškai palaiko vaizdų įtraukimą į XLSX skaičiuokles, naudojant tik kelias „Go“ kodo eilutes. Jis palaiko vaizdų modifikavimą ir esamų vaizdų ištrynimą XLSX darbalapyje. Jame taip pat yra parinkčių įterpti paveikslėlį ir nustatyti jo savybes, pvz., dydį, padėtį ir kt., taip pat spausdinimo palaikymą.

Įdėkite vaizdus į „Excel“ failą naudodami „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")
}

Taikykite sąlyginį formatavimą skaičiuoklės langeliuose

Sąlyginis formatavimas yra naudinga funkcija, padedanti „Excel“ vartotojams pritaikyti formatą langeliui arba langelių diapazonui pagal tam tikrus kriterijus. „Unioffice“ biblioteka suteikė funkcionalumą, leidžiantį programinės įrangos kūrėjams pritaikyti sąlyginį formatavimą savo skaičiuoklei naudojant tik keletą „Go“ komandų. Biblioteka palaiko sąlyginį langelių formatavimą, stilių, gradientus, piktogramas, duomenų juostą ir dar daugiau.

 Lietuvių