Go API للتعامل مع جداول بيانات Microsoft Excel XLSX
مكتبة Pure Go التي تدعم إنشاء جداول بيانات MS Excel XLSX وتنسيقها ومعالجتها بسهولة عبر Open Source Go API.
Xlsx2Go هي مكتبة مفتوحة المصدر توفر طريقة سهلة للغاية للعمل مع جداول بيانات Microsoft Excel XLSX باستخدام أوامر اللغة Go. المكتبة مستقرة للغاية ويمكنها إجراء عمليات سريعة وتوفر طريقة موثوقة للغاية للعمل مع جدول بيانات XLSX باستخدام Golang. باستخدام سطرين فقط من التعليمات البرمجية ، يمكنك إدارة العديد من العمليات المتعلقة بإنشاء جداول البيانات وتنسيقها ومعالجتها.
تضمنت مكتبة Xlsx2Go دعمًا للعديد من الميزات المهمة المتعلقة بمعالجة جداول بيانات Excel ، مثل إنشاء جدول بيانات جديد أو فتح أو تعديل أو حذف ملف جدول بيانات موجود ، وإضافة ورقة Excel جديدة إلى مصنف ، وإضافة خلايا جديدة ، وتنسيق خلية Excel ، والتحقق من صحة بيانات الخلايا ، ودعم التنسيق الشرطي ، ودمج خلايا ورقة العمل وإلغاء دمجها ، والصور والصور المضمنة ، ونسخ أوراق العمل ، ونسخ الصفوف أو الأعمدة ، وغير ذلك الكثير.
الشروع في العمل مع Xlsx2Go
الطريقة الموصى بها لتثبيت Xlsx2Go في مشروعك هي باستخدام GitHub . الرجاء استخدام الأمر التالي للتثبيت السلس.
قم بتثبيت Xlsx2Go عبر GitHub
go get https://github.com/LucienLS/xlsx2go.git
قم بإنشاء جدول بيانات XLSX عبر Go API
تتيح مكتبة Xlsx2Go مفتوحة المصدر لمبرمجي الكمبيوتر إنشاء جدول بيانات Excel XLSX داخل تطبيقاتهم الخاصة باستخدام أوامر Go. يمكنك أيضًا فتح جدول بيانات حالي أو تعديله أو حذفه بسهولة. يمكنك أيضًا استخدام العديد من الميزات المهمة مثل إدراج صفوف وأعمدة جديدة في ورقة ، وتعيين القيمة الافتراضية لخلية ، وتطبيق التنسيق على نطاق من الخلايا ، والمزيد.
إنشاء وتعديل ملف Excel XLSX عبر Go API
func main() {
// 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)
}
}
إدارة الخلايا والصفوف في ورقة عمل Excel
تضمنت المكتبة المجانية Xlsx2Go العديد من الميزات المهمة المتعلقة بإدارة الخلايا والصفوف داخل جداول بيانات Excel. يمكنك بسهولة إدراج صفوف وخلايا جديدة ، ودمج الصفوف والخلايا ، وإضافة تعليق إلى خلية Excel ، والحصول على جميع الخلايا في صف واحد ، وإنشاء خلية جديدة ، وتحديد نطاق من الخلايا ، وتطبيق الأنماط على نطاق من الخلايا ، وإضافة ارتباط تشعبي إلى خلية ، قم بتعيين الوقت والتاريخ في خلية ، وغير ذلك الكثير.
أدخل الأعمدة والصفوف في جدول البيانات في Go Apps
func main() {
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(), ","))
}
إلحاق صفوف وأعمدة وأوراق في ورقة عمل
في بعض الأحيان ، يكون لدى المستخدم أو المؤسسة أوراق عمل متعددة ببنيات متشابهة (صفوف وأعمدة) ، ويريد دمج المعلومات في ورقة عمل واحدة كبيرة. تساعد ميزة الإلحاق المطورين على إضافة ورقة عمل واحدة أو أوراق عمل متعددة إلى ورقة عمل موجودة ، أو دمج الكل في ورقة عمل واحدة جديدة. توفر مكتبة Xlsx2Go وظائف لإلحاق أعمدة ورقة العمل والصفوف والأوراق برمجيًا بسهولة.
إلحاق الصفوف والأعمدة والأوراق عبر Go API
func main() {
xl, err := xlsx.Open("./test_files/example_simple.xlsx")
if err != nil {
log.Fatal(err)
}
defer xl.Close()
sheet := xl.Sheet(0)
// To append a new col/row, simple request it - sheet will be auto expanded.
// E.g.: we have 14 cols, 28 rows.
fmt.Println(sheet.Dimension())
// Append 72 rows
sheet.Row(99)
fmt.Println(sheet.Dimension())
// Append 36 cols
sheet.Col(49)
fmt.Println(sheet.Dimension())
// Append 3 sheet
fmt.Println(strings.Join(xl.SheetNames(), ","))
xl.AddSheet("new sheet")
xl.AddSheet("new sheet")
xl.AddSheet("new sheet")
fmt.Println(strings.Join(xl.SheetNames(), ","))
}
إدارة تنسيق جدول البيانات عبر Go API
تتيح المكتبة المجانية Xlsx2Go لمطوري البرامج إضافة أنماط لتنسيق جداول البيانات الخاصة بهم باستخدام أوامر Go. يمكن للمطورين بسهولة إنشاء تنسيق جديد لتعيين أنماط الخطوط ولون الخط ولون الخلفية وغير ذلك الكثير. يمكنك تعيين التنسيق لمجموعة من الخلايا بالإضافة إلى ورقة العمل بأكملها. يمكنك أيضًا تعيين التنسيق الافتراضي للصف والعمود بسهولة. يمكنك بسهولة إضافة الصور والصور إلى ورقة العمل
تطبيق التنسيق على جدول البيانات عبر Go API
func main() {
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)
}