1. منتجات
  2.   جدول
  3.   GO
  4.   unioffice
 
  

مكتبة Open Source Go لإنشاء ملفات Excel XLSX

قراءة وكتابة وتحرير مستندات Microsoft Excel XLSX عبر Open Source Go API. أضف العديد من المخططات والصور والجداول داخل جداول البيانات الخاصة بك. 

Unioffice هي مكتبة مفتوحة المصدر توفر لمطوري البرامج القدرة على إنشاء مستندات Office Excel XLSX وتعديلها ومعالجتها داخل تطبيقات Go الخاصة بهم. المكتبة مستقرة للغاية وتوفر أعلى درجة من الإنتاجية مع القليل من الجهد والتكلفة.

تدعم مكتبة unioffice مفتوحة المصدر بشكل كامل العديد من الميزات المهمة المتعلقة بإنشاء وتعديلات جداول بيانات Excel ، مثل إنشاء أوراق Excel جديدة من البداية ، وإنشاء خلايا بتنسيقات مختلفة للأرقام / التاريخ / الوقت ، وتنسيق خلية Excel ، ودعم التحقق من الخلية ، واسترداد قيم الخلية كما تم تنسيقه بواسطة Excel ، والتنسيق الشرطي ، ودمج الخلايا وإلغاء دمجها ، والتحقق من صحة البيانات بما في ذلك القوائم المنسدلة لمربع التحرير والسرد ، والصور المضمنة وغير ذلك الكثير.

Previous Next

الشروع في العمل مع 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 بسيط عبر 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")
} 

أضف مخططات متعددة إلى ملف Excel XLSX

قدمت مكتبة 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. تضمنت المكتبة دعمًا للخلايا ذات التنسيق الشرطي والتصميم والتدرجات والأيقونات وشريط البيانات والمزيد في المستقبل.

 عربي