انتقل إلى المكتبة للعمل مع مستندات Excel XLSX

Open Source Go API الذي يدعم إنشاء جداول بيانات Microsoft Excel XLSX ، وإدارة أوراق العمل ، والتعامل مع الصفوف والأعمدة في أوراق العمل عبر Go API.

توفر مكتبة xlsx طريقة سريعة وموثوقة للغاية للعمل مع ملفات Microsoft Excel باستخدام Go. تساعد المكتبة في تبسيط قراءة وكتابة تنسيق ملف Excel XLSX. تم تقديم تنسيق ملف XLSX في عام 2007 ويستخدم معيار Open XML الذي تم تعديله بواسطة Microsoft في عام 2000. المكتبة مفتوحة المصدر ومتاحة بموجب ترخيص BSD-3-Clause.

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

Previous Next

الشروع في العمل مع Xlsx2Go

الطريقة الموصى بها لتثبيت xlsx هي من GitHub ، يرجى استخدام الأمر التالي للتثبيت السلس.

قم بتثبيت xlsx عبر GitHub

go get https://github.com/tealeg/xlsx.git

إنشاء ملفات XLSX جديدة عبر Go Library

تمنح مكتبة xlsx مفتوحة المصدر مطوري البرامج القدرة على إنشاء ملف XLSX فارغ جديد من البداية باستخدام أمرين من Go. يمكن للمطورين استخدام وظيفة NewFile () الجديدة لإنشاء ملف جديد. بمجرد إنشائه ، يمكنك بسهولة إضافة محتوى جديد إلى المصنف. يمكنك إضافة ورقة جديدة أو إلحاق ورقة موجودة بسهولة. بمجرد الإنشاء واكتمال العمل ، يرجى حفظ العمل الخاص بك ، فمن المستحسن إغلاق () الورقة.

قم بإنشاء وتحرير ملف Excel XLSX عبر Go API

// Demonstrates how to create/open/save XLSX files
func Example_files() {
	// Create a new XLSX file
	xl := xlsx.New()
	// Open the XLSX file using file name
	xl, err := xlsx.Open("./test_files/example_simple.xlsx")
	if err != nil {
		log.Fatal(err)
	}
	defer xl.Close()
	// Open the XLSX file using file handler
	zipFile, err := os.Open("./test_files/example_simple.xlsx")
	if err != nil {
		log.Fatal(err)
	}
	xl, err = xlsx.Open(zipFile)
	if err != nil {
		log.Fatal(err)
	}
	// Update the existing XLSX file
	err = xl.Save()
	if err != nil {
		log.Fatal(err)
	}
	// Save the XLSX file under different name
	err = xl.SaveAs("new_file.xlsx")
	if err != nil {
		log.Fatal(err)
	}
}

الوصول إلى ملفات XLSX وقراءتها

قدمت مكتبة xlsx مفتوحة المصدر مجموعة من الوظائف التي تسمح للمطورين بالوصول إلى ملف جدول بيانات XLSX المفتوح وقراءته داخل تطبيقات Go الخاصة بهم. يمكنك أيضًا الوصول بسهولة إلى أوراق المصنف باستخدام أمرين من Go. يمكن للمطورين أيضًا الوصول إلى ورقة معينة من اختيارهم بسهولة.

الوصول إلى ملف Excel وقراءته عبر Go Library

func Example_access() {
	xl, err := xlsx.Open("./test_files/example_simple.xlsx")
	if err != nil {
		log.Fatal(err)
	}
	defer xl.Close()
	// Get sheet by 0-based index
	sheet := xl.Sheet(0)
	// Get cell by 0-based indexes
	cell := sheet.Cell(13, 27)
	fmt.Println(cell.Value())
	// Get cell by reference
	cell = sheet.CellByRef("N28")
	fmt.Println(cell.Value())
	// Get row by 0-based index
	row := sheet.Row(9)
	fmt.Println(strings.Join(row.Values(), ","))
	// Get cell of row at 0-based col index
	cell = row.Cell(0)
	fmt.Println(cell.Value())
	// Get col by 0-based index
	col := sheet.Col(3)
	fmt.Println(strings.Join(col.Values(), ","))
	// Get cell of col at 0-based row index
	cell = col.Cell(0)
	fmt.Println(cell.Value())
	// Get range by references
	area := sheet.RangeByRef("D10:H13")
	fmt.Println(strings.Join(area.Values(), ","))
}

التعامل مع الصفوف والأعمدة في أوراق العمل

الخلايا هي العمود الفقري لورقة عمل Excel. تتكون ورقة العمل من خلايا منظمة في صفوف وأعمدة. توفر مكتبة xlsx لمطوري البرامج مجموعة واسعة من الميزات للتعامل مع الصفوف والأعمدة داخل تطبيقاتهم باستخدام أوامر Go. وهو يدعم إضافة صفوف وأعمدة جديدة ، وتكرار الصفوف والأعمدة ، وحذف الصفوف والأعمدة غير المرغوب فيها ، وإضافة خلايا جديدة إلى صف ، والحصول على قيمة من خلية ، وتطبيق التنسيق على مجموعة من الخلايا ، وغير ذلك الكثير.

أدخل الأعمدة والصفوف في ورقة عمل Excel عبر Go Library

func Example_insert() {
	xl, err := xlsx.Open("./test_files/example_simple.xlsx")
	if err != nil {
		log.Fatal(err)
	}
	defer xl.Close()
	sheet := xl.Sheet(0)
	fmt.Println(sheet.Dimension())
	fmt.Println(strings.Join(sheet.Col(3).Values(), ","))
	// Insert a new col
	sheet.InsertCol(3)
	fmt.Println(sheet.Dimension())
	fmt.Println(strings.Join(sheet.Col(3).Values(), ","))
	fmt.Println(strings.Join(sheet.Col(4).Values(), ","))
	// Insert a new row
	fmt.Println(strings.Join(sheet.Row(9).Values(), ","))
	sheet.InsertRow(3)
	fmt.Println(sheet.Dimension())
	fmt.Println(strings.Join(sheet.Row(9).Values(), ","))
	fmt.Println(strings.Join(sheet.Row(10).Values(), ","))
}

تطبيق الأنماط والتنسيق

توفر مكتبة Free library xlsx العديد من الوظائف المهمة التي تمكن مطوري البرامج من تطبيق التنسيق والأنماط على جداول البيانات الخاصة بهم بسهولة. توفر الأنماط تخطيطًا وزخرفة للخلايا مثل الخط واللون ومحاذاة المحتوى وحجم الخط والتعبئة وما إلى ذلك. يمكنك بسهولة تطبيق النمط على نطاق من الخلايا باستخدام سطرين فقط من التعليمات البرمجية. تحتاج فقط إلى إنشاء نمط مرة واحدة وإعادة استخدامه عند الحاجة. يمكنك أيضًا تطبيق تنسيقات الأرقام والتاريخ للخلايا.

تطبيق الأنماط والتنسيق على ملف Excel عبر Go Library

gfunc Example_formatting() {
	xl, err := xlsx.Open("./test_files/example_simple.xlsx")
	if err != nil {
		log.Fatal(err)
	}
	defer xl.Close()
	// Create a new format for a bold font with red color and yellow solid background
	redBold := styles.New(
		styles.Font.Bold,
		styles.Font.Color("#ff0000"),
		styles.Fill.Background("#ffff00"),
		styles.Fill.Type(styles.PatternTypeSolid),
	)
	// Add formatting to xlsx
	styleID := xl.AddStyles(redBold)
	sheet := xl.Sheet(0)
	// Set formatting for cell
	sheet.CellByRef("N28").SetStyles(styleID)
	// Set DEFAULT formatting for row. Affects cells not yet allocated in the row.
	// In other words, this style applies to new cells.
	sheet.Row(9).SetStyles(styleID)
	// Set DEFAULT formatting for col. Affects cells not yet allocated in the col.
	// In other words, this style applies to new cells.
	sheet.Col(3).SetStyles(styleID)
	//set formatting for all cells in range
	sheet.RangeByRef("D10:H13").SetStyles(styleID)
}
 عربي