ایکسلائز کی تعارف
Excelize ایک بنیادی لائبریری ہے جو Go زبان میں لکھی گئی آفس ایکسل دستاویزات کو مدد کرنے کے لئے ہے، ینی کے بیسڈ ایکس کا مہربانی 376 اینڈ آئی ایس او/آئی ایس 29500 بین الاقوامی معیاروں پرہے۔ یہ استعمال کیا جا سکتا ہے تاکہ مائیکروسافٹ ایکسل™ 2007 اور اس کے بعد بنائے گئے اسپریڈ شیٹ دستاویزات کو پڑھا اور لکھا جا سکے، جو XLAM / XLSM / XLSX / XLTM / XLTX جیسے مختلف دستاویز فارمیٹس کو سپورٹ کرتا ہے۔ یہ دستاویزات کو جوابی طریقے سمیت مختلف سٹائلز، تصاویر (ٹیبلز)، پیولٹ ٹیبلز، سلائسرز، اور دیگر پیچیدہ اجزاء شامل ہونے والے ہیں، کے ساتھ مکمل میل ہے، اور بڑے پیمانے پر ڈیٹا والے ورک بکس کا پروسیسنگ کرنے کے لئے ایک اسٹریمنگ پڑھ-لکھ API فراہم کرتا ہے۔ اسے مختلف رپورٹ پلیٹ فارمز، کلوڈ کمپیوٹنگ، ایج کمپیوٹنگ، اور دیگر سسٹمز میں لاگو کیا جا سکتا ہے۔ اس لائبریری کا استعمال کرنے کے لئے Go زبان کی ورژن 1.16 یا اس سے اوپر کی ضرورت ہوتی ہے۔
تنصیب
نیچے دی گئی جدول میں ایکسلائز بنیادی لائبریری کی مختلف Go زبان کی ورژنوں کے لئے نیچے درجہ ضرورتوں کی منيمم معلومات ہیں:
ایکسلائز ورژن | Go زبان کی ورژن کی منیمم ضرورت |
---|---|
v2.7.0 | 1.16 |
v2.4.0 ~ v2.6.1 | 1.15 |
v2.0.2 ~ v2.3.2 | 1.10 |
v1.0.0 ~ v2.0.1 | 1.6 |
ایکسلائز کی تازہ ترین ورژن استعمال کرنے کے لئے Go زبان کی ورژن 1.16 یا اس سے اوپر کی منیمم ضرورت ہوتی ہے۔ براہ کرم نوٹ کریں کہ Go ورژن 1.21.0 میں غیر مطابقتی تبدیلیاں پائی جاتی ہیں، جس کی وجہ سے ایکسلائز کی بنیادی لائبریری اس ورژن پر درست طریقے سے کام نہیں کرتی۔ اگر آپ Go 1.21.x استعمال کر رہے ہیں تو براہ کرم Go 1.21.1 یا اس سے اوپر اپ گریڈ کریں۔
- تنصیب کا کمانڈ
go get github.com/xuri/excelize
- اگر آپ پیکیجز کو منیج کرنے کے لیے Go ماڈیولز کا استعمال کر رہے ہیں تو تازہ ترین ورژن کو انسٹال کرنے کے لئے درج زیل کمانڈ استعمال کریں
go get github.com/xuri/excelize/v2
اپ ڈیٹ
- اپ ڈیٹ کمانڈ
go get -u github.com/xuri/excelize/v2
ایکسل دستاویزات بنانا
نیچے ایک ایسا مثال ہے جس میں ایک ایکسل دستاویز بنایا گیا ہے:
package main
import (
"fmt"
"github.com/xuri/excelize/v2"
)
func main() {
f := excelize.NewFile()
defer func() {
if err := f.Close(); err != nil {
fmt.Println(err)
}
}()
// نئے شیٹ بنائیں
index, err := f.NewSheet("Sheet2")
if err != nil {
fmt.Println(err)
return
}
// سیل قیمتیں سیٹ کریں
f.SetCellValue("Sheet2", "A2", "ہیلو ورلڈ۔")
f.SetCellValue("Sheet1", "B2", 100)
// ورک بک کی پہلے سہم نکالیں
f.SetActiveSheet(index)
// فائل کو مخصوص راستہ پر محفوظ کریں
if err := f.SaveAs("Book1.xlsx"); err != nil {
fmt.Println(err)
}
}
ایکسل دستاویزات پڑھنا
نیچے ایک ایسا مثال ہے جس میں ایکسل دستاویزات پڑھی جا رہی ہیں:
package main
import (
"fmt"
"github.com/xuri/excelize/v2"
)
func main() {
f, err := excelize.OpenFile("Book1.xlsx")
if err != nil {
fmt.Println(err)
return
}
defer func() {
if err := f.Close(); err != nil {
fmt.Println(err)
}
}()
// کسی مخصوص سیل کی قیمت حاصل کریں
cell, err := f.GetCellValue("Sheet1", "B2")
if err != nil {
fmt.Println(err)
return
}
fmt.Println(cell)
// Sheet1 پر تمام سیلز حاصل کریں
rows, err := f.GetRows("Sheet1")
if err != nil {
fmt.Println(err)
return
}
for _, row := range rows {
for _, colCell := range row {
fmt.Print(colCell, "\t")
}
fmt.Println()
}
}
ایکسل دستاویزوں میں چارٹ بنائیں
Excelize کا استعمال کرکے چارٹ بنانا بہت آسان ہے، صرف کچھ ہی لائنوں کے کوڈ کی ضرورت ہے۔ آپ ورکشیٹ میں موجود معلومات پر بنیاد چارٹ بنا سکتے ہیں یا ورکشیٹ میں معلومات شامل کرکے پھر چارٹ بنا سکتے ہیں۔
package main
import (
"fmt"
"github.com/xuri/excelize/v2"
)
func main() {
f := excelize.NewFile()
defer func() {
if err := f.Close(); err != nil {
fmt.Println(err)
}
}()
for idx, row := range [][]interface{}{
{nil, "سیب", "سنترے", "ناشپاتی"}, {"چھوٹا", 2, 3, 3},
{"عام", 5, 2, 4}, {"بڑا", 6, 7, 8},
} {
cell, err := excelize.CoordinatesToCellName(1, idx+1)
if err != nil {
fmt.Println(err)
return
}
f.SetSheetRow("Sheet1", cell, &row)
}
if err := f.AddChart("Sheet1", "E1", &excelize.Chart{
Type: excelize.Col3DClustered,
Series: []excelize.ChartSeries{
{
Name: "Sheet1!$A$2",
Categories: "Sheet1!$B$1:$D$1",
Values: "Sheet1!$B$2:$D$2",
},
{
Name: "Sheet1!$A$3",
Categories: "Sheet1!$B$1:$D$1",
Values: "Sheet1!$B$3:$D$3",
},
{
Name: "Sheet1!$A$4",
Categories: "Sheet1!$B$1:$D$1",
Values: "Sheet1!$B$4:$D$4",
}},
Title: []excelize.RichTextRun{
{
Text: "فروٹ 3D کلسٹر کالم چارٹ",
},
},
}); err != nil {
fmt.Println(err)
return
}
// فائل کو مخصوص راستے پر محفوظ کریں
if err := f.SaveAs("Book1.xlsx"); err != nil {
fmt.Println(err)
}
}
ایکسل دستاویز میں تصاویر شامل کریں
package main
import (
"fmt"
_ "image/gif"
_ "image/jpeg"
_ "image/png"
"github.com/xuri/excelize/v2"
)
func main() {
f, err := excelize.OpenFile("Book1.xlsx")
if err != nil {
fmt.Println(err)
return
}
defer func() {
if err := f.Close(); err != nil {
fmt.Println(err)
}
}()
// تصویر شامل کریں
if err := f.AddPicture("Sheet1", "A2", "image.png", nil); err != nil {
fmt.Println(err)
return
}
// ورکشیٹ میں تصویر شامل کریں اور تصویر کا اسکیل سیٹ کریں
if err := f.AddPicture("Sheet1", "D2", "image.jpg",
&excelize.GraphicOptions{ScaleX: 0.5, ScaleY: 0.5}); err != nil {
fmt.Println(err)
return
}
// ورکشیٹ میں تصویر شامل کریں اور تصویر کی پرنٹ خصوصیات سیٹ کریں
enable, disable := true, false
if err := f.AddPicture("Sheet1", "H2", "image.gif",
&excelize.GraphicOptions{
PrintObject: &enable,
LockAspectRatio: false,
OffsetX: 15,
OffsetY: 10,
Locked: &disable,
}); err != nil {
fmt.Println(err)
return
}
// فائل محفوظ کریں
if err = f.Save(); err != nil {
fmt.Println(err)
}
}