Open Source Go Library ליצירת קבצי Excel XLSX

קרא, כתוב, ערוך מסמכי Microsoft Excel XLSX באמצעות קוד Open Source Go API. הוסף מספר תרשימים, תמונות וטבלאות בתוך הגיליונות האלקטרוניים שלך. 

Unioffice היא ספריית Go pure קוד פתוח המעניקה למפתחי תוכנה את היכולת ליצור, לשנות ולתפעל מסמכי Office Excel XLSX בתוך יישומי Go שלהם. הספרייה יציבה מאוד ומספקת את הדרגה הגבוהה ביותר של פרודוקטיביות במעט מאוד מאמץ ועלות.

ספריית הקוד הפתוח unioffice תומכת באופן מלא במספר תכונות חשובות הקשורות ליצירה ושינויים של גיליונות אלקטרוניים של Excel, כגון יצירת גיליונות Excel חדשים מההתחלה, יצירת תאים עם פורמטים שונים של מספר/תאריך/שעה, עיצוב תא Excel, תמיכה באימות תאים, אחזור ערכי תאים כפי שעוצב על ידי Excel, עיצוב מותנה, מיזוג וביטול מיזוג תאים, אימות נתונים כולל תפריטים נפתחים של תיבות משולבות, תמונות מוטבעות ועוד הרבה יותר.

Previous Next

תחילת העבודה עם unioffice

הדרך המומלצת ל-unioffice לפרויקט שלך היא באמצעות Github. אנא השתמש בפקודה הבאה להתקנה חלקה.

התקן את unioffice דרך GitHub

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

יצירת Excel XLSX באמצעות Go API

ספריית הקוד הפתוח unioffice מאפשרת למתכנתי מחשבים ליצור גיליון אלקטרוני של Excel XLSX בתוך יישומי Go משלהם. זה נותן לך את היכולת להוסיף גיליון חדש למסמכי Excel הקיימים שלך ולהקצות שם לגיליון ולשמור את הקובץ בנתיב שתבחר. הוא גם מספק תמיכה במספר תכונות חשובות כגון הוספת שורות ועמודות חדשות לגיליון, הגדרת מספר השורות והעמודות, הגדרת ערך ברירת המחדל של תא ועוד. אתה יכול גם לפתוח ולשנות את הגיליון האלקטרוני הקיים בקלות.

יצירת קובץ Excel באמצעות ספריה

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

הוסף תרשימים מרובים לקובץ XLSX של Excel

ספריית unioffice סיפקה תמיכה בהוספת תרשימים לגיליון אלקטרוני של Excel עם כמה שורות קוד בלבד. אתה יכול ליצור תרשימים על סמך הנתונים הזמינים בגליון העבודה שלך, כמו גם ללא זמינות של נתונים כלל. תרשימים נותנים לך את היכולת להציג נתונים ויזואלית בפורמטים שונים כגון סרגל, עמודה, עוגה, קו, שטח או מכ"ם וכו'. מפתחים יכולים לבחור בקלות מבין אפשרויות התרשים הזמינות ויכולים לשלוט בערכים שלהם.

הוספת תרשימים מרובים לקובץ Excel באמצעות 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)
}

הוסף תמונות לגיליונות אלקטרוניים XLSX

ספריית unioffice תומכת באופן מלא בהכללה של תמונות בגיליונות אלקטרוניים של XLSX עם רק כמה שורות של קוד Go. הוא תומך בשינוי תמונות וכן במחיקת תמונות קיימות בתוך גליון עבודה XLSX. זה גם מספק אפשרויות להכנסת תמונה ולקבוע את המאפיינים שלה כמו גודל, מיקום וכו' וכן תמיכה בהדפסה.

הוספת תמונות לקובץ Excel באמצעות 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")
}

החל עיצוב מותנה על התאים של הגיליון האלקטרוני

עיצוב מותנה הוא תכונה שימושית המסייעת למשתמשי Excel להחיל פורמט על תא או טווח של תאים בהתבסס על קריטריונים מסוימים. ספריית unioffice סיפקה פונקציונליות המאפשרת למפתחי תוכנה להחיל עיצוב מותנה על הגיליון האלקטרוני שלהם עם כמה פקודות Go. הספרייה כללה תמיכה בעיצוב מותנה של תאים, עיצוב, מעברי צבע, אייקונים, סרגל נתונים ועוד.

 עִברִית