سیل

RichTextRun کو رچ ٹیکسٹ کی خصوصیات والے متغیر کے طور پر تعین کیا گیا ہے۔

type RichTextRun struct {
    Font *Font
    Text string
}

HyperlinkOpts کو استعمال کیا جاتا ہے تاکہ اختیاری ہائپر لنک کی خصوصیات مخصوص کی جائیں، مثلاً، ڈسپلے ٹیکسٹ اور اسکرین ٹپ۔

type HyperlinkOpts struct {
    Display *string
    Tooltip *string
}

FormulaOpts کو استعمال کیا جاتا ہے تاکہ SetCellFormula فنکشن میں خصوصی فارمولا اقسام کو مخصوص کیا جائے۔

type FormulaOpts struct {
    Type *string // فارمولا کی قسم
    Ref  *string // شیئرڈ فارمولا حوالہ
}

سیل کی قیمت مقرر کریں

func (f *File) SetCellValue(sheet, cell string, value interface{}) error

سیل کی قیمت متعین شیٹ کے نام اور سیل کی نشانیوں کے مطابق مقرر کی جاتی ہے۔ یہ فنکشن گوروٹین-سیف ہے۔ مخصوص شرائط میں کوئی ترتیب نہیں رکھنی چاہئے اور موجودہ کوائف کو ٹیکسٹ سیٹ کرنے کے لئے جمع کردار استعمال کیے جائیں۔

معتمد ڈیٹا اقسام
int
int8
int16
int32
int64
uint
uint8
uint16
uint32
uint64
float32
float64
string
[]byte
time.Duration
time.Time
bool
nil

براہ کرم نوٹ کریں کہ یہ فنکشن سیل کی قیمت کو time.Time قسم کے لئے m/d/yy h:mm نمبر فارمیٹ کے ساتھ مقرر کرتا ہے ۔ اور آپ اس ترتیب کو SetCellStyle کا استعمال کرکے تبدیل کرسکتے ہیں۔ اگر آپ کو گو لینگوئج میں time.Time قسم کے ذریعے نمائندہ نہیں کرسکتے خصوصی ایکسل تاریخین جیسے کہ January 0, 1900، یا February 29, 1900، مقرر کرنا ہو تو، سیل کی قیمت کو 0 یا 60 مقرر کریں، اور پھر ایسی سٹائل کے ساتھ مقرر کریں جس میں تاریخ نمبر فارمیٹ ہو۔

بول قیمت مقرر کریں

func (f *File) SetCellBool(sheet, cell string, value bool) error

سیل کی بولی قیمت کو متعین شیٹ کے نام اور سیل کی نشانیوں کے مطابق قرار دیں۔

ڈیفالٹ اسٹرنگ قیمت مقرر کریں

func (f *File) SetCellDefault(sheet, cell, value string) error

سیل کی اسٹرنگ قیمت کو متعین شیٹ کے نام اور سیل کی نشانیوں کے مطابق قرار دیں، اور حروف کسی خاص کردار تصفیہ کے زیر اثر نہیں ہوں گے۔

عدد صحیح قیمت مقرر کریں

func (f *File) SetCellInt(sheet, cell string, value int) error

سیل کی عدد صحیح قیمت کو متعین شیٹ کے نام اور سیل کی نشانیوں کے مطابق قرار دیں۔

فلوٹ قیمت مقرر کریں

func (f *File) SetCellFloat(sheet, cell string, value float64, precision, bitSize int) error

سیل کی فلوٹ قیمت کو متعین شیٹ کے نام، سیل کی نشانیوں، فلوٹ کی قیمت، فلوٹ کے حصے کے عدد کی عمق، اور فلوٹ کی قسم کے مطابق قرار دیں۔

اسٹرنگ قیمت مقرر کریں

func (f *File) SetCellStr(sheet, cell, value string) error

سیل کی اسٹرنگ قیمت کو متعین شیٹ کے نام اور سیل کی نشانیوں کے مطابق قرار دیں، اور حروف کسی خاص کردار تصفیہ کے زیر اثر ہوں گے، اور سٹرنگ کی اجمالی لمبائی 32767 سے زیادہ نہیں ہونی چاہئے، کسی زائد حروف کو نظرانداز کر دیا جائے گا۔

سیل سٹائل ترتیب دیں

func (f *File) SetCellStyle(sheet, hCell, vCell string, styleID int) error

درجے وصول کرنے کے سٹائل انڈیکس کی بنیاد پر ایک سیل کی قیمت کو دی گئی شیٹ نام، سیل کے محدد، اور اسٹائل انڈیکس پر ترتیب دینا۔ یہ فعل تھریڈ کے لیے محفوظ ہے۔ اسٹائل انڈیکس NewStyle فعل کے ذریعے حاصل کیا جا سکتا ہے۔ نوٹ ہے کہ ایک ہی محدد علاقے میں diagonalDown اور diagonalUp کو ہم آہنگ رنگ رکھنا چاہئے۔ SetCellStyle سیل کے موجودہ اسٹائل کو بغیر اسٹیکنگ یا مرج کیے بنایں بغیر کاٹ جائے گا۔

  • مثال 1: سیٹ1`نام کی شیٹ میں سیل D7 کے لئے بارڈر سٹائل ترتیب دیں:
style، err := f.NewStyle(&excelize.Style{
    Border: []excelize.Border{
        {Type: "left", Color: "0000FF", Style: 3},
        {Type: "top", Color: "00FF00", Style: 4},
        {Type: "bottom", Color: "FFFF00", Style: 5},
        {Type: "right", Color: "FF0000", Style: 6},
        {Type: "diagonalDown", Color: "A020F0", Style: 8},
        {Type: "diagonalUp", Color: "A020F0", Style: 8},
    },
})
if err != nil {
    fmt.Println(err)
}
err = f.SetCellStyle("Sheet1", "D7", "D7", style)

سیل کے لئے بارڈر سٹائل ترتیب دیں

سیل D7 کے چار بارڈر مختلف انداز اور رنگ کے ساتھ تشکیل دیتے ہیں، جو NewStyle فعل کو مندرجہ ذیل باب میں دستاویز میں دیگئی پیرامیٹرز سے متعلق ہیں۔ مختلف انداز ترتیب دینے کے لئے براہ کرم اس باب میں دستاویز کا حوالہ دیں۔

  • مثال 2: سیٹ1`نام کی شیٹ میں سیل D7 کے لئے گریڈینٹ سٹائل ترتیب دیں:
style، err := f.NewStyle(&excelize.Style{
    Fill: excelize.Fill{Type: "gradient", Color: []string{"FFFFFF", "E0EBF5"}, Shading: 1},
})
if err != nil {
    fmt.Println(err)
}
err = f.SetCellStyle("Sheet1", "D7", "D7", style)

سیل کے لئے گریڈینٹ سٹائل ترتیب دیں

سیل D7 کو گریڈینٹ رنگوں سے بھرا گیا ہے، جو NewStyle فعل کو مندرجہ ذیل باب میں دستاویز میں دیگئی پیرامیٹرز سے متعلق ہے۔ مختلف انداز ترتیب دینے کے لئے براہ کرم اس باب میں دستاویز کا حوالہ دیں۔

  • مثال 3: سیٹ1`نام کی شیٹ میں سیل D7 کے لئے سالڈ رنگ بھرائیں۔
style، err := f.NewStyle(&excelize.Style{
    Fill: excelize.Fill{Type: "pattern", Color: []string{"E0EBF5"}, Pattern: 1},
})
if err != nil {
    fmt.Println(err)
}
err = f.SetCellStyle("Sheet1", "D7", "D7", style)

سیل کے لئے سالڈ رنگ بھرائیں

سیل D7 کو ایک سالڈ رنگ سے بھر دیا گیا ہے۔

  • مثال 4: سیٹ1`نام کی شیٹ میں سیل D7 کے لئے حرفی فاصلہ اور گھومنے کا زاویہ ترتیب دیں:
f.SetCellValue("Sheet1", "D7", "Style")
style، err := f.NewStyle(&excelize.Style{
    Alignment: &excelize.Alignment{
        Horizontal:      "center",
        Indent:          1,
        JustifyLastLine: true,
        ReadingOrder:    0,
        RelativeIndent:  1,
        ShrinkToFit:     true,
        TextRotation:    45,
        Vertical:        "",
        WrapText:        true,
    },
})
if err != nil {
    fmt.Println(err)
}
err = f.SetCellStyle("Sheet1", "D7", "D7", style)

حرفی فاصلہ اور گھومنے کا زاویہ ترتیب

  • مثال 5: تاریخ اور وقت ایکسل میں حقیقی اعداد سے ظاہر ہوتے ہیں، مثال کے طور پر، 2017/7/4 12:00:00 PM کو عدد 42920.5 سے ظاہر کیا جا سکتا ہے۔ صفحہ جس کا نام Sheet1 ہے میں سیل D7 کے لئے وقت کی شکل ترتیب کریں۔
f.SetCellValue("Sheet1", "D7", 42920.5)
f.SetColWidth("Sheet1", "D", "D", 13)
style, err := f.NewStyle(&excelize.Style{NumFmt: 22})
if err != nil {
    fmt.Println(err)
}
err = f.SetCellStyle("Sheet1", "D7", "D7", style)

سیل کے لئے وقت کی شکل ترتیب کریں

سیل D7 کو ایک وقت کی شکل ترتیب کریں۔ یہ نوٹ کریں کہ جب سیل کی چوڑائی مکمل مواد کو دکھانے کے لئے بہت کم ہوتی ہے تو یہ #### کے طور پر دکھایا جائے گا۔ آپ ستون کی چوڑائی کو کھینچ کر یا SetColWidth کی فنکشن کو بلانے سے درست دکھنے کے لئے مناسب سائز پر ستون کی چوڑائی کو ترتیب کر سکتے ہیں۔

  • مثال 6: صفحہ جس کا نام Sheet1 ہے میں سیل D7 کے لئے فونٹ، فونٹ سائز، رنگ، اور ترچھا طریقہ ترتیب کریں۔
f.SetCellValue("Sheet1", "D7", "Excel")
style, err := f.NewStyle(&excelize.Style{
    Font: &excelize.Font{
        Bold:   true,
        Italic: true,
        Family: "Times New Roman",
        Size:   36,
        Color:  "777777",
    },
})
if err != nil {
    fmt.Println(err)
}
err = f.SetCellStyle("Sheet1", "D7", "D7", style)

سیل کے لئے فونٹ، فونٹ سائز، رنگ، اور ترچھا طریقہ ترتیب کریں

  • مثال 7: سیل D7 کو قفل کریں اور چھپائیں صفحہ جس کا نام Sheet1 ہے۔
style, err := f.NewStyle(&excelize.Style{
    Protection: &excelize.Protection{
        Hidden: true,
        Locked: true,
    },
})
if err != nil {
    fmt.Println(err)
}
err = f.SetCellStyle("Sheet1", "D7", "D7", style)

سیلوں کو قفل کرنے یا چھپانے کے لئے صفحہ حفاظت لگائیں کریں۔ "Review" ٹیب پر "Protect Sheet" پر کلک کریں۔

func (f *File) SetCellHyperLink(sheet, cell, link, linkType string, opts ...HyperlinkOpts) error

صفحہ، سیل، لنک، اور لنک کی قسم کی بنیاد پر سیل کے لئے ہائپر لنک ترتیب دینے کے لئے ہائپر لنک کو ترتیب دیں۔ لنک کی قسم میں دو قسمیں ہوتی ہیں: بیرونی لنک پتہ External اور ورک بک میں داخلی مقام لنک Location۔ ہر ورک شیٹ میں ہائپر لنک کی زیادہ سے زیادہ تعداد 65530 تک ہوتی ہے۔ یہ میتھڈ صرف سیل کے لئے ہائپر لنک دینے کے لئے ہے اور سیل کی قدر میں کوئی اثر انداز نہیں ہوتا۔ اگر آپ کو سیل کی قدر دینی ہو تو براہ کرم SetCellStyle یا SetSheetRow جیسی فنکشن کے ذریعے علیحدہ طور پر دیں۔

  • مثال 1: صفحہ جس کا نام Sheet1 ہے میں سیل A3 کے لئے ایک بیرونی لنک شامل کریں۔
display, tooltip := "https://github.com/xuri/excelize", "Excelize on GitHub"
if err := f.SetCellHyperLink("Sheet1", "A3",
    "https://github.com/xuri/excelize", "External", excelize.HyperlinkOpts{
        Display: &display,
        Tooltip: &tooltip,
    }); err != nil {
    fmt.Println(err)
}
// سیل کے لئے فونٹ اور انڈر لائن شکل کو ترتیب کریں
فنکشن، err := f.NewStyle(&excelize.Style{
    Font: &excelize.Font{Color: "1265BE", Underline: "single"},
})
if err != nil {
    fmt.Println(err)
}
err = f.SetCellStyle("Sheet1", "A3", "A3", style)
  • مثال 2: صفحہ جس کا نام Sheet1 ہے میں سیل A3 کے لئے ایک مقام لنک شامل کریں۔
err := f.SetCellHyperLink("Sheet1", "A3", "Sheet1!A40", "Location")
func (f *File) SetCellRichText(sheet, cell string, runs []RichTextRun) error

مخصوص کردہ کیل کے لیے ریچ ٹیکسٹ فارمیٹ سیٹ کریں، دی گئی ورک شیٹ، کیل کی کوآرڈینیٹس، اور ریچ ٹیکسٹ فارمیٹ کے بیس پر۔

مثال کے طور پر، شیٹ ١ کے نام سے مخصوص کردہ کیل `A1` کے لieے ریچ ٹیکسٹ فارمیٹ سیٹ کریں:

![Set Rich Text Format](/storage/20231012/uog6n6jRKVmPjoBa.png)
```go
پیکیج میں میں()

import (
    "fmt"
    
    "github.com/xuri/excelize/v2"
)

func main() {
    f := excelize.NewFile()
    defer func() {
        if err := f.Close(); err != nil {
            fmt.Println(err)
        }
    }()
    if err := f.SetRowHeight("Sheet1", 1, 35); err != nil {
        fmt.Println(err)
        return
    }
    if err := f.SetColWidth("Sheet1", "A", "A", 44); err != nil {
        fmt.Println(err)
        return
    }
    if err := f.SetCellRichText("Sheet1", "A1", []excelize.RichTextRun{
        {
            Text: "bold",
            Font: &excelize.Font{
                Bold:   true,
                Color:  "2354E8",
                Family: "Times New Roman",
            },
        },
        // ... (دیگر ریچ ٹیکسٹ رَن)
    }); err != nil {
        fmt.Println(err)
        return
    }
    // ... (دیگر سیل کیسٹائل کی ترتیبات اور محفوظ کرنا)
}

```go
func (f *File) GetCellRichText(sheet, cell string) ([]RichTextRun, error)

مخصوص ورک شیٹ اور کیل کے کوآرڈینیٹس کے بیس پر کیل کے ریچ ٹیکسٹ فارمیٹ حاصل کریں۔

func (f *File) GetCellValue(sheet, cell string, opts ...Options) (string, error)

مخصوص ورک شیٹ اور کیل کے کوآرڈینیٹس کے بیس پر کیل کی قِیمت حاصل کریں، اور واپسی قیمت string کی قسم میں تبدیل ہوگی۔ اگر کیل کی قِیمت پر کیل فارمیٹ لاگو کیا جا سکتا ہے تو لاگو قیمت واپس کی جائے گی؛ ورنہ اصل قیمت واپس کی جائے گی۔ مُرتبۂ شامل سارے سیلز کی قیمتیں یکساں ہوتی ہیں۔ یہ فعل خُود مختصر ہے۔

func (f *File) GetCellType(sheet, cell string) (CellType, error)

مخصوص ورک شیٹ اور کیل کے کوآرڈینیٹس کے بیس پر کیل کا ڈیٹا ٹائپ حاصل کریں۔

func (f *File) GetCols(sheet string, opts ...Options) ([][]string, error)

مخصوص ورک شیٹ پر سارے سیلز کی قیمتیں اُن کی ستونوں کے ذریعہ حاصل کریں، اور اُنہیں دو-بُعدی ارایہ کی شکل میں واپسی دیں، جہاں سیل کی قیمتیں string کی قَسم میں تبدیل ہوجائیں۔ اگر سیل کی قِیمت پر سیل فارمیٹ لاگو کیا جا سکتا ہے تو لاگو قیمت استعمال کیا جائے گا؛ ورنہ اصل قیمت استعمال کیا جائے گا۔

مثال کے طور پر، شیٹ ١ پر تمام سیل کی قیمتیں ستونوں کی مدد سے حاصل اور ان پر چلا کر آئیں:

cols, err := f.GetCols("Sheet1")
if err != nil {
    fmt.Println(err)
    return
}
for _, col := range cols {
    for _, rowCell := range col {
        fmt.Print(rowCell, "\t")
    }
    fmt.Println()
}
func (f *File) GetRows(sheet string, opts ...Options) ([][]string, error)

مخصوص ورک شیٹ پر سارے سیلز کی قیمتیں اُن کی قطاروں کے ذریعہ حاصل کریں، اور انہیں دو-بُعدی ارایہ کی شکل میں واپسی دیں، جہاں سیل کی قیمتیں string کی قَسم میں تبدیل ہوجائیں۔ اگر سیل کی قِیمت پر سیل فارمیٹ لاگو کیا جا سکتا ہے تو لاگو قیمت استعمال کی جائے گا؛ ورنہ اصل قیمت استعمال کیا جائے گا۔ GetRows قطاریں سیلز کو نکالتا ہے جن میں قیمتیں یا فارمولے شامل ہیں۔ قطار کے آخر میں خالی سیلز چھُڑائی جائیں گی، اور ہر قطار میں سیلز کی تعداد مختلف ہو سکتی ہے۔

مثال کے طور پر، شیٹ ١ پر تمام سیل کی قیمتیں قطاروں کی مدد سے حاصل اور ان پر چلا کر آئیں:

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()
}
func (f *File) GetCellHyperLink(sheet, cell string) (bool, string, error)

مخصوص ورک شیٹ اور سیل کے coordinate معیار پر لنک کیلۓ hyperlink کو حاصل کریں۔ اگر سیل میں hyperlink ہوتا ہے تو یہ `true` اور لنک کا پتا واپس کرے گا؛ ورنہ یہ `false` اور خالی لنک کا پتا واپس کرے گا۔

مثال کے طور پر `Sheet1` پر `H6` کے coordinate کی سیل کا لنک حاصل کرنے کے لۓ:

```go
link, target, err := f.GetCellHyperLink("Sheet1", "H6")
func (f *File) GetCellStyle(sheet, cell string) (int, error)

مخصوص ورک شیٹ اور سیل کے coordinate معیار پر سیل کی style index کا حاصل کریں، اور حاصل شدہ انڈیکس کو SetCellStyle تفاعل کو بلانے کے وقت پیرامیٹر کے طور پر استعمال کیا جا سکتا ہے۔

func (f *File) MergeCell(sheet, hCell, vCell string) error

وقفہ دیا گیا ورک شیٹ میں سیلز کو مرغوب کریں۔ مرغوب ریجن میں صرف مرغوب ریجن کے اُوپر بائیں سیل کی قیمت رکھی جائے گی، اور باقی سیلز کی قیمتیں نظرانداز کر دیں گی۔ مثال کے طور پر، Sheet1 پر ریجن D3:E9 میں سیلز کو مرغوب کریں:

err := f.MergeCell("Sheet1", "D3", "E9")

اگر دی گئی سیل کے coordinate ریجن کی موجودہ مرغوب سیلز سے پر امر ملاتی ہے تو، موجودہ مرغوب سیلز کو ہٹا دیا جائے گا۔

func (f *File) UnmergeCell(sheet string, hCell, vCell string) error

وقفہ دی گئی ورک شیٹ میں سیلز کو آن مرغوب کریں۔ مثال کے طور پر، Sheet1 پر ریجن D3:E9 میں سیلز کو آن مرغوب کریں:

err := f.UnmergeCell("Sheet1", "D3", "E9")

اگر دی گئی سیل کے coordinate ریجن میں متعدد مرغوب کردہ سیلز ہوتی ہیں تو، تمام مرغوب کردہ سیلز کو آن مرغوب کیا جائے گا۔

دی گئی ورک شیٹ میں تمام مرغوب کردہ سیلز کے coordinate و رقبے اور قیمت حاصޔل کریں۔

func (f *File) GetMergeCells(sheet string) ([]MergeCell, error)
func (m *MergeCell) GetCellValue() string

GetCellValue مرغوب ہونے والی سیل کی قیمت واپس کرتا ہے۔

func (m *MergeCell) GetStartAxis() string

GetStartAxis مرغوب ہونے والی سیل ریجن کی اُوپر بائیں سیل کا coordinate واپس کرتا ہے، مثلاً، C2۔

func (m *MergeCell) GetEndAxis() string

GetEndAxis مرغوب ہونے والی سیل ریجن کی نیچے دائیں سیل کا coordinate واپس کرتا ہے، مثلاً، D4۔

func (f *File) AddComment(sheet string, comment Comment) error

موصول ورک شیٹ، سیل کے coordinate، اور سٹائل پیرامیٹرز (مصنف اور متن کی معلومات) کو رائے شامل کریں۔ مصنف معلومات کی زیادہ سے زیادہ لمبائی 255 حروف ہوتی ہے، اور زیادہ سے زیادہ متن مواد کی لمبائی 32512 حروف ہوتی ہے۔ اس حد سے آگے کے حروف نظرانداز کیے جائیں گی۔

مثال کے طور پر، Sheet1!$A$3 کی سیل میں رائے شامل کریں:

Add a comment in an Excel document

err := f.AddComment("Sheet1", excelize.Comment{
    Cell:   "A3",
    Author: "Excelize",
    Paragraph: []excelize.RichTextRun{
        {Text: "Excelize: ", Font: &excelize.Font{Bold: true}},
        {Text: "This is a comment."},
    },
})
func (f *File) GetComments(sheet string) ([]Comment, error)

موصول ورک شیٹ میں تمام سیل رائے کا حاصل کریں۔

func (f *File) DeleteComment(sheet, cell string) error

دی گئی ورک شیٹ اور سیل coordinate پر رائے کو حذف کریں۔ مثال کے طور پر، Sheet1!$A$30 کی سیل میں رائے کو حذف کریں:

err := f.DeleteComment("Sheet1", "A30")