1. Produkty
  2.   Arkusz
  3.   GO
  4.   unioffice
 
  

Biblioteka Open Source Go do tworzenia plików Excel XLSX

Czytaj, pisz, edytuj dokumenty Microsoft Excel XLSX za pomocą Open Source Go API. Dodaj wiele wykresów, obrazów i tabel do arkuszy kalkulacyjnych. 

Unioffice to biblioteka open source pure go, która daje programistom możliwość generowania, modyfikowania i manipulowania dokumentami Office Excel XLSX w ich własnych aplikacjach Go. Biblioteka jest bardzo stabilna i zapewnia najwyższy stopień produktywności przy niewielkim wysiłku i kosztach.

Biblioteka unioffice typu open source w pełni obsługuje kilka ważnych funkcji związanych z tworzeniem i modyfikacjami arkuszy Excel, takich jak tworzenie nowych arkuszy Excel od podstaw, tworzenie komórek z różnymi formatami liczby/daty/godziny, formatowanie komórek Excel, obsługa walidacji komórek, pobieranie wartości komórek sformatowane przez Excel, formatowanie warunkowe, scalanie i rozłączanie komórek, sprawdzanie poprawności danych, w tym rozwijane pola kombi, osadzone obrazy i wiele więcej.

Previous Next

Pierwsze kroki z unioffice

Zalecanym sposobem włączenia unioffice do projektu jest użycie Github. Użyj następującego polecenia, aby uzyskać płynną instalację.

Zainstaluj unioffice przez GitHub

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

Tworzenie Excel XLSX przez Go API

Biblioteka unioffice Open Source umożliwia programistom tworzenie arkuszy kalkulacyjnych Excel XLSX we własnych aplikacjach Go. Daje możliwość dodania nowego arkusza do istniejących dokumentów Excel i przypisania nazwy do arkusza oraz zapisania pliku pod wybraną ścieżką. Zapewnia również obsługę kilku ważnych funkcji, takich jak dodawanie nowych wierszy i kolumn do arkusza, definiowanie liczby wierszy i kolumn, ustawianie domyślnej wartości komórki i nie tylko. Możesz także z łatwością otwierać i modyfikować istniejący arkusz kalkulacyjny.

Utwórz prosty plik Excel za pośrednictwem biblioteki Go

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")
} 

Dodaj wiele wykresów do pliku Excel XLSX

Biblioteka unioffice zapewnia obsługę dodawania wykresów do arkusza kalkulacyjnego Excel za pomocą zaledwie kilku wierszy kodu. Możesz tworzyć wykresy na podstawie dostępnych danych w arkuszu, a także bez dostępności jakichkolwiek danych. Wykresy dają możliwość wizualnego wyświetlania danych w różnych formatach, takich jak słupkowy, kolumnowy, kołowy, liniowy, obszarowy lub radarowy itp. Deweloperzy mogą łatwo wybierać spośród dostępnych opcji wykresów i kontrolować ich wartości.

Dodać wiele wykresów do pliku Excel przez 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)
}

Wstaw obrazy do arkuszy kalkulacyjnych XLSX

Biblioteka unioffice w pełni obsługuje włączanie obrazów do arkuszy kalkulacyjnych XLSX za pomocą zaledwie kilku wierszy kodu Go. Obsługuje modyfikowanie obrazów, a także usuwanie istniejących obrazów w arkuszu XLSX. Zapewnia również opcje wstawiania obrazu i ustawiania jego właściwości, takich jak rozmiar, położenie itp., a także obsługę drukowania.

Dodać obrazy do pliku Excel przez 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")
}

Zastosuj formatowanie warunkowe w komórkach arkusza kalkulacyjnego

Formatowanie warunkowe to przydatna funkcja, która pomaga użytkownikom programu Excel zastosować format do komórki lub zakresu komórek na podstawie określonych kryteriów. Biblioteka unioffice zapewnia funkcjonalność, która umożliwia programistom stosowanie formatowania warunkowego do ich arkusza kalkulacyjnego za pomocą zaledwie kilku poleceń Go. Biblioteka zawiera obsługę warunkowego formatowania komórek, stylizacji, gradientów, ikon, paska danych i nie tylko.

 Polski