کاربرگ
تنظیم قابلیت دید ستون
func (f *File) SetColVisible(sheet, col string, visible bool) error
قابلیت دید ستون مشخص شده براساس نام کاربرگ و نام ستون مشخص شده تنظیم میشود. این تابع همگامی ایمن را ارائه میدهد. به عنوان مثال، برای مخفی کردن ستون D
در کاربرگ به نام Sheet1
:
err := f.SetColVisible("Sheet1", "D", false)
مخفی کردن ستونهای D
تا F
در کاربرگ به نام Sheet1
:
err := f.SetColVisible("Sheet1", "D:F", false)
تنظیم عرض ستون
func (f *File) SetColWidth(sheet, startCol, endCol string, width float64) error
عرض یک یا چند ستون براساس نام کاربرگ داده شده، محدوده ستون، و مقدار عرض تنظیم میشود. این تابع همگامی ایمن را ارائه میدهد. به عنوان مثال، برای تنظیم عرض ستونهای A
تا H
در کاربرگ به نام Sheet1
به 20
:
err := f.SetColWidth("Sheet1", "A", "H", 20)
تنظیم ارتفاع ردیف
func (f *File) SetRowHeight(sheet string, row int, height float64) error
ارتفاع یک ردیف تنها براساس نام کاربرگ، شماره ردیف و مقدار ارتفاع تنظیم میشود. به عنوان مثال، برای تنظیم ارتفاع ردیف اول در کاربرگ به نام Sheet1
به 50
:
err := f.SetRowHeight("Sheet1", 1, 50)
تنظیم قابلیت دید ردیف
func (f *File) SetRowVisible(sheet string, row int, visible bool) error
قابلیت دید ردیف مشخص شده براساس نام کاربرگ و شماره ردیف مشخص شده تنظیم میشود. به عنوان مثال، برای مخفی کردن ردیف دوم در کاربرگ به نام Sheet1
:
err := f.SetRowVisible("Sheet1", 2, false)
دریافت نام کاربرگ
func (f *File) GetSheetName(index int) string
نام کاربرگ براساس شاخص کاربرگ داده شده دریافت میشود. اگر کاربرگ وجود نداشته باشد، یک رشته خالی بازگردانده خواهد شد.
دریافت قابلیت دید ستون
func (f *File) GetColVisible(sheet, column string) (bool, error)
قابلیت دید ستون مشخص شده در کاربرگ براساس نام کاربرگ و نام ستون داده شده دریافت میشود. مقدار برگشتی true
نشاندهنده قابلیت دید بودن است، در حالی که false
نشاندهنده عدم قابلیت دید بودن است. این تابع همگامی ایمن را ارائه میدهد. به عنوان مثال، برای دریافت قابلیت دید ستون D
در کاربرگ به نام Sheet1
:
visible, err := f.GetColVisible("Sheet1", "D")
دریافت عرض ستون
func (f *File) GetColWidth(sheet, col string) (float64, error)
عرض ستون مشخص شده در کاربرگ براساس نام کاربرگ و نام ستون داده شده دریافت میشود. این تابع همگامی ایمن را ارائه میدهد.
دریافت ارتفاع ردیف
func (f *File) GetRowHeight(sheet string, row int) (float64, error)
ارتفاع ردیف مشخص شده در کاربرگ براساس نام کاربرگ و شماره ردیف داده شده دریافت میشود. به عنوان مثال، برای دریافت ارتفاع ردیف اول در کاربرگ به نام Sheet1
:
height, err := f.GetRowHeight("Sheet1", 1)
دریافت قابلیت دید ردیف
func (f *File) GetRowVisible(sheet string, row int) (bool, error)
قابلیت دید ردیف مشخص شده در کاربرگ براساس نام کاربرگ و شماره ردیف داده شده دریافت میشود. به عنوان مثال، برای دریافت قابلیت دید ردیف دوم در کاربرگ به نام Sheet1
:
visible, err := f.GetRowVisible("Sheet1", 2)
دریافت شاخص کاربرگ
func (f *File) GetSheetIndex(sheet string) (int, error)
شاخص کاربرگ داده شده براساس نام خود کاربرگ دریافت میشود. اگر کاربرگ وجود نداشته باشد، -1
برگردانده خواهد شد. شاخص به دست آمده میتواند به عنوان پارامتری استفاده شود هنگام فراخوانی تابع SetActiveSheet()
برای تنظیم کاربرگ پیشفرض کارنامه.
دریافت نگاشت برگهها
func (f *File) GetSheetMap() map[int]string
دریافت نگاشت همهٔ برگهها، برگههای نمودار و برگههای دیالوگ در کتاب کار، که توسط شناسه و نام نماینده شده است.
f, err := excelize.OpenFile("Book1.xlsx")
if err != nil {
return
}
defer func() {
if err := f.Close(); err != nil {
fmt.Println(err)
}
}()
for index, name := range f.GetSheetMap() {
fmt.Println(index, name)
}
دریافت لیست برگهها
func (f *File) GetSheetList() []string
دریافت لیست برگهها، شامل برگهها، برگههای نمودار و برگههای دیالوگ به همان ترتیب که در کتاب کار مشاهده میشوند.
تنظیم نام یک برگه
func (f *File) SetSheetName(source, target string) error
تغییر نام برگه براساس نام قدیمی و جدید داده شده. نام برگه میتواند حداکثر 31 نویسه داشته باشد. این تابع تنها نام برگه را تغییر میدهد و فرمولهای مرتبط با سلولها یا نامهای برگه در ارجاعها را بهروز نمیکند. بنابراین، استفاده از این تابع برای تغییر نام یک برگه ممکن است منجر به اشکالات فرمول یا مسائل ارجاع شود.
درج ستونها
func (f *File) InsertCols(sheet, col string, n int) error
درج ستونهای خالی قبل از ستون مشخص شده بر اساس نام برگه، نام ستون و تعداد ستونهای درج شده. به عنوان مثال، درج 2 ستون خالی قبل از ستون C
در برگهای با نام Sheet1
:
err := f.InsertCols("Sheet1", "C", 2)
درج ردیفها
func (f *File) InsertRows(sheet string, row, n int) error
درج ردیفهای خالی قبل از ردیف مشخص شده بر اساس نام برگه، شماره ردیف و تعداد ردیفهای درج شده. به عنوان مثال، درج 2 ردیف خالی قبل از ردیف سوم در برگهای با نام Sheet1
:
err := f.InsertRows("Sheet1", 3, 2)
الحاق و کپی ردیفها
func (f *File) DuplicateRow(sheet string, row int) error
الحاق یک ردیف تکراری پس از شماره ردیف داده شده بر اساس نام برگه داده شده. به عنوان مثال، تکرار ردیف دوم برگهای با نام Sheet1
به ردیف 3:
err := f.DuplicateRow("Sheet1", 2)
در استفاده از این روش نیاز به احتیاط وجود دارد، زیرا تمام تغییرات در فرمولهای اصلی، نمودارها و سایر ارجاعهای منابع در برگه را تحت تأثیر قرار خواهد داد. اگر برگه حاوی مقادیر ارجاع شدهای باشد، باز کردن آن با استفاده از یک برنامه Excel پس از استفاده از این روش ممکن است منجر به اشکالات فایل شود. excelize در حال حاضر فقط بهروزرسانی ارجاعهای جزئی بر روی برگه را پشتیبانی میکند.
تکرار ردیف
func (f *File) DuplicateRowTo(sheet string, row, row2 int) error
تکرار ردیف پس از ردیف مشخص شده بر اساس نام برگه و شماره ردیف. به عنوان مثال، تکرار ردیف دوم برگهای با نام Sheet1
پس از ردیف هفتم:
err := f.DuplicateRowTo("Sheet1", 2, 7)
لطفاً در استفاده از این روش بهاحتیاط عمل کنید، زیرا تمام تغییرات در فرمولهای اصلی، نمودارها و سایر منابع ارجاعی در برگه را تحت تأثیر قرار میدهد. اگر برگه حاوی هرگونه مقادیر مرجع باشد، باز کردن آن با یک برنامه Excel پس از استفاده از این روش ممکن است منجر به اشکالات فایل شود. excelize در حال حاضر فقط بهروزرسانیهای تا جزئی روی برگه را پشتیبانی میکند.
تنظیم سطر سطح خلاصه
func (f *File) SetRowOutlineLevel(sheet string, row int, level uint8) error
ایجاد یک گروه بر اساس نام برگه، شماره ردیف و پارامتر سطح خلاصه. به عنوان مثال، ایجاد یک گروه سطح 1 در ردیف دوم برگهای به نام Sheet1
.
err := f.SetRowOutlineLevel("Sheet1", 2, 1)
تنظیم سطر سطح خط
func (f *File) SetColOutlineLevel(sheet, col string, level uint8) error
بر اساس نام ورق داده شده، نام ستون، و پارامتر سطح خط، یک گروه ایجاد میکند. به عنوان مثال، یک گروه سطح 2 را در ستون D
ورق با نام Sheet1
ایجاد میکند.
err := f.SetColOutlineLevel("Sheet1", "D", 2)
دریافت سطح خط سطر
func (f *File) GetRowOutlineLevel(sheet string, row int) (uint8, error)
بر اساس نام ورق و شماره سطر داده شده، سطح خط را دریافت میکند. به عنوان مثال، سطح خط ردیف دوم در ورق با نام Sheet1
را دریافت میکند.
level, err := f.GetRowOutlineLevel("Sheet1", 2)
دریافت سطح خط ستون
func (f *File) GetColOutlineLevel(sheet, col string) (uint8, error)
بر اساس نام ورق و نام ستون داده شده، سطح خط را دریافت میکند. به عنوان مثال، سطح خط ستون D
در ورق با نام Sheet1
را دریافت میکند.
level, err := f.GetColOutlineLevel("Sheet1", "D")
ایتریتور ستون
func (f *File) Cols(sheet string) (*Cols, error)
به ورق مشخص شده بر اساس نام داده شده دسترسی مییابد. این تابع توانمندی همزمانی را ارائه میدهد. ایتریتور ستون را برای خواندن پیوسته و دسترسی به سلولها استفاده کنید:
cols, err := f.Cols("Sheet1")
if err != nil {
fmt.Println(err)
return
}
for cols.Next() {
col, err := cols.Rows()
if err != nil {
fmt.Println(err)
}
for _, rowCell := range col {
fmt.Print(rowCell, "\t")
}
fmt.Println()
}
ایتریتور ستون - دریافت مقادیر یک ستون
func (cols *Cols) Rows(opts ...Options) ([]string, error)
مقادیر تمام ردیفها را در ستون فعلی برمیگرداند.
ایتریتور ستون - عملیات دسترسی
func (cols *Cols) Next() bool
اگر مقادیری در ستون بعدی وجود داشته باشد، true
برمیگرداند.
ایتریتور ستون - رفع اشکالات
func (cols *Cols) Error() error
هنگام جستجو برای ستون بعدی، وقوع خطا را برمیگرداند.
ایتریتور سطر
func (f *File) Rows(sheet string) (*Rows, error)
ایتریتور سطر ورق داده شده بر اساس نام داده شده را دریافت میکند. از ایتریتور سطر برای گذر از سلولها برای خواندن پیوسته استفاده کنید:
rows, err := f.Rows("Sheet1")
if err != nil {
fmt.Println(err)
return
}
for rows.Next() {
row, err := rows.Columns()
if err != nil {
fmt.Println(err)
}
for _, colCell := range row {
fmt.Print(colCell, "\t")
}
fmt.Println()
}
if err = rows.Close(); err != nil {
fmt.Println(err)
}
ایتریتور سطر - عملیات سطر تکی
func (rows *Rows) Columns(opts ...Options) ([]string, error)
این تابع با خواندن پیوسته ورق را سلول به سلول، مقادیر هر سلول در سطر فعلی را برمیگرداند، و ردیفهای خالی معتبر در انتهای ورق را نادیده نمیگیرد.
ایتریتور سطر - عملیات دسترسی
func (rows *Rows) Next() bool
اگر ارزشی در ردیف بعدی وجود داشته باشد، true
برمیگرداند.
ایتریتور سطر - رفع اشکالات
func (rows *Rows) Error() error
هنگام جستجو برای ردیف بعدی، خطا را برمیگرداند.
ایتریتور سطر - خواندن خصوصیات سطر
func (rows *Rows) GetRowOpts() RowOpts
ویژگیهای فعلی سطر مانند ارتفاع سطر، قابلیت دید، و شناسه سبک را برمیگرداند.
ایتریتور سطر - بستن جریان داده
func (rows *Rows) Close() error
جریان داده را میبندد و هر نوع حافظه دیسک سیستم را که هنگام باز کردن ورق تولید شده است، پاکسازی میکند.
جستجو در ورکشیت
func (f *فایل) SearchSheet(ورکشیت, مقدار string, reg ...bool) ([]string, error)
بر اساس نام ورکشیت داده شده، مقدار سلول یا عبارت منظم، مختصات را بگیرید. این تابع فقط تطابق کامل رشتهها و اعداد را پشتیبانی میکند، از نتایج محاسبه شده، اعداد قالب بندی شده و جستجوهای شرطی پشتیبانی نمیکند. اگر نتیجه جستجو سلول ادغام شده باشد، مختصات بالاست-چپ ناحیه ادغام شده برگشت داده خواهد شد.
به عنوان مثال، برای جستجوی مختصات مقدار 100
در ورکشیت با نام Sheet1
:
result, err := f.SearchSheet("Sheet1", "100")
به عنوان مثال، برای جستجوی مختصات اعداد عددی در محدوده 0-9
در ورکشیت با نام Sheet1
:
result, err := f.SearchSheet("Sheet1", "[0-9]", true)
حفاظت از ورکشیت
func (f *فایل) ProtectSheet(ورکشیت string, opts *گزینههای_حفاظت_ورکشیت) error
از سایر کاربران جلوگیری کنید تا به طور تصادفی یا عمدی اطلاعات در ورکشیت را تغییر، جابجایی یا حذف کنند. فیلد اختیاری نام_الگوریتم
از الگوریتم های هش XOR، MD4، MD5، SHA-1، SHA-256، SHA-384 یا SHA-512 را پشتیبانی میکند. اگر الگوریتم هش مشخص نشود، به طور پیشفرض از الگوریتم XOR استفاده خواهد شد. به عنوان مثال، تنظیم یک حفاظت رمز عبور برای ورکشیت با نام Sheet1
ولی امکان انتخاب سلولهای قفل شده، انتخاب سلولهای غیرقفل شده و سناریوهای ویرایش را مجاز کردند:
err := f.ProtectSheet("Sheet1", &excelize.SheetProtectionOptions{
AlgorithmName: "SHA-512",
Password: "password",
SelectLockedCells: true,
SelectUnlockedCells: true,
EditScenarios: true,
})
گزینههای_حفاظت_ورکشیت تنظیمات گزینههای تنظیمات برای حفاظت از ورکشیت را تعریف میکند.
type گزینههای_حفاظت_ورکشیت struct {
نام_الگوریتم string
فیلتر_اتوماتیک bool
حذف_ستونها bool
حذف_ردیفها bool
ویرایش_اشیاء bool
سناریوهای_ویرایش bool
قالب_سلولها bool
قالب_ستونها bool
قالب_ردیفها bool
درج_ستونها bool
درج_پیوندهای_هایپر bool
درج_ردیفها bool
رمز_عبور string
جدولهای_پیوت bool
انتخاب_سلولهای_قفل_شده bool
انتخاب_سلولهای_غیرقفل_شده bool
مرتب_کردن bool
}
لغو حفاظت از ورکشیت
func (f *فایل) UnprotectSheet(ورکشیت string, password ...string) error
ورکشیت را براساس نام ورکشیت داده شده غیرقفل کنید و پارامتر دوم رمز عبور اختیاری را مشخص کنید تا با تأیید رمز عبور، حفاظت ورکشیت را لغو کنید.
حذف_ستون
func (f *فایل) RemoveCol(ورکشیت, ستون string) error
ستون مشخصشده را بر اساس نام ورکشیت و نام ستون حذف کنید. به عنوان مثال، ستون C
را در ورکشیت با نام Sheet1
حذف کنید:
err := f.RemoveCol("Sheet1", "C")
لطفاً از این روش با احتیاط استفاده کنید، زیرا این تغییرات در تمام تغییرات فرمول اصلی، نمودار و ارجاعات منابع دیگر در ورکشیت تأثیر میگذارد. اگر ورکشیت شامل هر گونه مقادیر ارجاعی باشد، استفاده از این روش ممکن است باعث ایجاد خطاهای فایل شود هنگام باز شدن با برنامه Excel پس از استفاده. در حال حاضر Excelize فقط از بهروزرسانیهای جزئی بر روی مقادیر ارجاعی در ورکشیت پشتیبانی میکند.
حذف_ردیف
func (f *فایل) RemoveRow(ورکشیت string, ردیف int) error
ردیف مشخصشده را بر اساس نام ورکشیت و شماره ردیف حذف کنید. به عنوان مثال، ردیف سوم را در ورکشیت با نام Sheet1
حذف کنید:
err := f.RemoveRow("Sheet1", 3)
لطفاً از این روش با احتیاط استفاده کنید، زیرا این تغییرات در تمام تغییرات فرمول اصلی، نمودار و ارجاعات منابع دیگر در ورکشیت تأثیر میگذارد. اگر ورکشیت شامل هر گونه مقادیر ارجاعی باشد، استفاده از این روش ممکن است باعث ایجاد خطاهای فایل شود هنگام باز شدن با برنامه Excel پس از استفاده. در حال حاضر Excelize فقط از بهروزرسانیهای جزئی بر روی مقادیر ارجاعی در ورکشیت پشتیبانی میکند.
اختصاص مقادیر بر اساس ستون
func (f *فایل) SetSheetCol(ورکشیت, سلول string, slice interface{}) error
مقادیر را بر اساس ستون بر اساس نام ورکشیت، مختصات شروع و مرجع نوع slice
اختصاص دهید. به عنوان مثال، مقادیر را بر اساس ستون در ستون B
ورکشیت با نام Sheet1
، با سلول B6
به عنوان مختصات شروع:
err := f.SetSheetCol("Sheet1", "B6", &[]interface{}{"1", nil, 2})
اختصاص دادن بر اساس ردیف
func (f *File) SetSheetRow(sheet, cell string, slice interface{}) error
با استفاده از نام صفحه کار، مختصات شروع و مرجع نوع "برش"، ارزشها بر اساس ردیفها اختصاص داده میشوند. این تابع از نظر همزمانی ایمن است. به عنوان مثال، در ردیف 6 صفحه کار با نام "Sheet1"، میتوان ارزشها را از ردیفها بر اساس سلول "B6" اختصاص داد:
err := f.SetSheetRow("Sheet1", "B6", &[]interface{}{"1", nil, 2})
درج شکست صفحه
func (f *File) InsertPageBreak(sheet, cell string) error
بر اساس نام صفحه کار و مختصات سلول داده شده، یک شکست صفحه درج میکند. شکستهای صفحه خطوط تقسیمکنندهای هستند که برای جداکردن صفحات فردی جدول برای اهداف چاپ استفاده میشوند.
حذف شکست صفحه
func (f *File) RemovePageBreak(sheet, cell string) error
بر اساس نام صفحه کار و مختصات سلول داده شده، یک شکست صفحه را حذف میکند.
تنظیم ابعاد صفحه کار
func (f *File) SetSheetDimension(sheet string, rangeRef string) error
بر اساس نام صفحه کار داده شده و مختصات یا محدوده مختصات سلول، ناحیه استفاده شده از صفحهکار را تنظیم یا حذف میکند. سلولهای استفاده شده شامل سلولهایی با فرمول، محتوای متنی و قالب سلول میشوند، به عنوان مثال A1:D5
. هنگامی که محدوده مختصات سلول داده شده یک رشته خالی است، ناحیه استفاده شده از صفحه کار را حذف خواهد کرد.
دریافت ابعاد صفحه کار
func (f *File) GetSheetDimension(sheet string) (string, error)
بر اساس نام صفحه کار داده شده، ناحیه استفاده شده از صفحهکار مشخص را بدست میآورد.