1. Des produits
  2.   Tableur
  3.   GO
  4.   unioffice
 
  

Bibliothèque Go Open Source pour la création de fichiers Excel XLSX

Lire, écrire, modifier des documents Microsoft Excel XLSX via l'API Open Source Go. Ajoutez plusieurs graphiques, images et tableaux dans vos feuilles de calcul. 

Unioffice est une bibliothèque open source pure go qui donne aux développeurs de logiciels la possibilité de générer, modifier et manipuler des documents Office Excel XLSX dans leurs propres applications Go. La bibliothèque est très stable et offre le plus haut degré de productivité avec très peu d'efforts et de coûts.

La bibliothèque unioffice open source prend entièrement en charge plusieurs fonctionnalités importantes liées à la création et aux modifications de feuilles de calcul Excel, telles que la création de nouvelles feuilles Excel à partir de zéro, la création de cellules avec différents formats de nombre/date/heure, le formatage des cellules Excel, la prise en charge de la validation des cellules, la récupération des valeurs des cellules. tel que formaté par Excel, mise en forme conditionnelle, fusionner et dissocier les cellules, validation des données, y compris les listes déroulantes des zones de liste déroulante, les images intégrées et bien plus encore.

Previous Next

Premiers pas avec unioffice

La méthode recommandée pour unioffice dans votre projet consiste à utiliser Github. Veuillez utiliser la commande suivante pour une installation fluide.

Installer unioffice via GitHub

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

Création Excel XLSX via Go API

La bibliothèque open source unioffice permet aux programmeurs informatiques de créer une feuille de calcul Excel XLSX dans leurs propres applications Go. Il vous donne la possibilité d'ajouter une nouvelle feuille à vos documents Excel existants et d'attribuer un nom à une feuille et d'enregistrer le fichier dans le chemin de votre choix. Il prend également en charge plusieurs fonctionnalités importantes telles que l'ajout de nouvelles lignes et colonnes à une feuille, la définition du nombre de lignes et de colonnes, la définition de la valeur par défaut d'une cellule, etc. Vous pouvez également ouvrir et modifier facilement la feuille de calcul existante.

Créer un fichier Excel simple par la bibliothèque 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")
} 

Ajouter plusieurs graphiques à un fichier Excel XLSX

La bibliothèque unioffice a pris en charge l'ajout de graphiques à une feuille de calcul Excel avec seulement quelques lignes de code. Vous pouvez créer des graphiques basés sur les données disponibles dans votre feuille de calcul ainsi que sans la disponibilité de toutes les données. Les graphiques vous permettent d'afficher visuellement des données dans différents formats tels que Barre, Colonne, Secteur, Ligne, Zone ou Radar, etc. Les développeurs peuvent facilement sélectionner parmi les options de graphique disponibles et contrôler leurs valeurs.

Insérer plusieurs chartes au fichier Excel par l'intermédiaire du G 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)
}

Insérer des images dans des feuilles de calcul XLSX

La bibliothèque unioffice prend entièrement en charge l'inclusion d'images dans des feuilles de calcul XLSX avec seulement quelques lignes de code Go. Il prend en charge la modification d'images ainsi que la suppression d'images existantes dans une feuille de calcul XLSX. Il fournit également des options pour insérer une image et définir ses propriétés telles que la taille, la position, etc. ainsi que la prise en charge de l'impression.

Inscrire les images au fichier Excel par le poste 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")
}

Appliquer la mise en forme conditionnelle sur les cellules de la feuille de calcul

La mise en forme conditionnelle est une fonctionnalité utile qui aide les utilisateurs d'Excel à appliquer un format à une cellule ou à une plage de cellules en fonction de certains critères. La bibliothèque unioffice a fourni une fonctionnalité qui permet aux développeurs de logiciels d'appliquer une mise en forme conditionnelle à leur feuille de calcul avec seulement quelques commandes Go. La bibliothèque a inclus la prise en charge du formatage conditionnel des cellules, du style, des dégradés, des icônes, de la barre de données et plus encore.

 Français